Hola. Digamos que tengo que programar un programa
y resulta que no se como hacer que compare lo introducido por el teclado con las palabras "si" o "no". Lo intentado es lo siguiente:
import java.io.*;
public class diagnostico {
public static void main(String[] args) {
String siNo, si = "si", no = "no";
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
System.out.println("¿Funcionara?"); // Esta no es la pregunta, es de prueba
try {
siNo = entrada.readLine();
{
System.out.println(siNo);
if (siNo == si){
System.out.println("hola");
}
else {
System.out.println("ADIOS");
}
}
} catch (IOException io) {
System.out.println("Error de teclado");
System.exit( -1);
} catch (NumberFormatException nEx) {
System.out.println("Igual lo quito, no van numeros");
System.exit( -2);
}
}
}
Tengo que hacer un programa que vaya preguntando y segun se responda si o no, va a una pregunta, otra, o muestra una ultima, asi que supongo que esto lo hare a base de if y else-if, aunque viendo la cantidad de preguntas, van a salir los if pero un monton.
El problema es ese, que no consigo que lo que el usuario introduzca, lo compare con si o no, ya que si mete otra cosa deberia de cortar.
He probado poniendo si como boolean con valor true, quitando el si y el no de String, con comillas, sin comillas, con == y con = segun el caso que necesitaba, añadiendo parametros... pero nada, o me da la primera, o la segunda. ¿No se puede hacer lo que quiero? si no se puede ya lo hago para que se responda con 1 y 2, pero eso no creo que sea lo que se pide.
NOTA: No se como poner bien aqui el texto, ya se que es un horror leerlo asi.
Gracias, y hasta luego.