"nextChar": Предполагая, что in
- это Scanner
, ваша проблема в том, что в Сканере нет метода nextChar()
. Вы можете прочитать целое слово, а затем взять его первый символ:
char theChar = in.next().charAt(0)
boolean vs ternery: Если вы выводите true / false, тогда вам не нужен if. Вы можете просто написать:
bool walkable = t.Type == TileType.Green; // C#
boolean international_F = in.next().charAt(0) == 'Y'` // Java
boolean vs Boolean: Обратите также внимание, что boolean
является примитивным логическим типом в Java. Использование Boolean
заставит его обернуть его в булев класс первый. Так как charAt()
возвращает примитивный символ, вам нужно использовать stati c Character.toUpperCase()
.
Решение:
boolean isY = Character.toUpperCase(in.next().charAt(0)) == 'Y'
// - OR -
boolean isY = in.next().startsWith("Y") // not case-insensitive