SS

Size: a a a
SS
A
SS
P
P
P
SS
class LanguageState {
private final String number;
private final String verb;
private final String pluralModifier;
private LanguageState(String number, String verb, String pluralModifier) {
this.number = number;
this.verb = verb;
this.pluralModifier = pluralModifier;
}
public String getNumber() { return number; }
public String getVerb() { return verb; }
public String getPluralModifier { return pluralModifier; }
public static LanguageState getLanguageState(number) {
switch (number) {
case 0:
return LanguageState.thereAreNoLetters();
case 1:
return LanguageState.thereIsOneLetter();
default:
return LanguageState.thereAreManyLetters(number);
}
}
private static LanguageState thereAreNoLetters() {
return new LanguageState("no", "are", "s");
}
private static LanguageState thereIsOneLetter() {
return new LanguageState("1", "is", "");
}
private static LanguageState thereAreManyLetters(int number) {
return new LanguageState(Integer.toString(number), "are", "s");
}
}
class GuessStatisticsMessage {
public static String make(char candidate, int number) {
var langState = LanguageState.getLanguageState(number);
return String.format(
"There %s %s %s%s",
langState.getVerb(), langState.getNumber(), candidate, langState.getPluralModifier(),
);
}
}
SS
SS
NK
В
В
В
P
Б[
VS
VS
Б[
VS
Б[