Me tomo la libertad de crear este hilo para que vayamos colgando nuestras dudas y problemas a la hora de programar en Java, ya que cada vez que entro al foro veo varios "Duda Java tal cosa" "Duda Java tal otra". De hecho sería partidario de crear un hilo general para cada lenguaje (en el momento de escribir este hilo, hay 3 hilos que comienzan por "Duda C++ ..." en la primera página).
Soy un aprendiz novicio de Java, y en estos momentos me encuentro con un pequeño problema.
Me han mandado de deberes programar el juego de "hundir la flota" y tengo un problema con un bucle bastante estúpido, presupongo que me podréis ayudar:
El problema lo tengo en
if(intro_fila != "loquesea"){}
Teoricamente, cuando no cumple la condición de ese if, se mete en el else y lo convierte a CharArray, a la vez que termina el bucle dandole el valor de "true" a fila, sin embargo, haga lo que haga SIEMPRE se mete en el bucle, tanto si pongo "A" como si pongo "847566"
for(boolean fila = false; fila == false;){
System.out.println("Introduce la posicion del barco a colocar");
System.out.println("Ejemplo: Fila: A | Casilla: 0");
System.out.print("Fila: ");
String intro_fila = buffer.readLine();
if(intro_fila != "A" || intro_fila != "B" || intro_fila != "C" || intro_fila != "D" || intro_fila != "E" || intro_fila != "F" || intro_fila != "G" || intro_fila != "H" || intro_fila != "I" || intro_fila != "J"){
System.out.println("");
System.out.println("Por favor, introduce un dato valido.");
System.out.println("");
}
else{
intro_fila.toCharArray();
fila = true;
}
}
System.out.print("Casilla: ");
String intro_casilla = buffer.readLine();
int casilla = Integer.parseInt(intro_casilla);
El corchete del for se cierra más abajo, ya que estoy dentro de un switch que a su vez está dentro de otro for.