Buscando hacer algo como en C #:
bool walkable = t.Type == TileType.Green ? true : false;
pero en Java
Boolean international_F = (in.next() == 'Y') ? true : false;
Lo anterior es lo que he probado hasta ahora. Se pregunta si es aún posible.
EDIT: Me he dado cuenta de .nextChar()
que no existe. Editado fragmento de código para reflejar eso.
"nextchar": Asumiendo que in
es una Scanner
, el problema es que escáner no tiene un nextChar()
método. Se podía leer una palabra entera y, a continuación, tomar su primer carácter:
char theChar = in.next().charAt(0)
boolean vs ternery: Si sus salidas son de verdadero / falso, entonces no es necesario un if. Usted puede escribir:
bool walkable = t.Type == TileType.Green; // C#
boolean international_F = in.next().charAt(0) == 'Y'` // Java
boolean vs booleano: Tenga en cuenta también que boolean
es el tipo booleano primitivos en Java. Usando Boolean
obligará a ser envuelto como la clase de Boole.
mayúsculas y minúsculas: Si desea permitir 'y' o 'Y', forzar la entrada a un caso conocido en primer lugar. Dado que charAt()
los rendimientos carbón primitiva, es necesario utilizar la estática Character.toUpperCase()
.
Solución:
boolean isY = Character.toUpperCase(in.next().charAt(0)) == 'Y'
// - OR -
boolean isY = in.next().startsWith("Y") // not case-insensitive