Ayuda comparación cadenas Java

Buenas , tengo un problema haber si alguien me puede echar un cable ya que es mi primer programa en Java.
Estoy haciendo un programa en el que tengo un bucle While y dentro tres condiciones,pues bien, no consigo como leches hacer para hacer que la condición sea distinta y no igual, es decir lo que seria un != en C como se hace en Java??.Lo que quiero hacer es que si la letra es distinta de D,E o I que vuelva a pedir de nuevo la letra.Os dejo el código aquí:
package m2ex01;

import java.io.*;

public class Canvi {
    public static void main(String[] args)throws IOException {
        BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
       
        String divisain="E";
       
        while(divisain.equals("E") || divisain.equals("D") || divisain.equals("I")){//Como hago para que esto sea distinto??????????????
            System.out.println("Quina moneda desitgeu canviar? "+"(E)uros, (D)olars o (I)ens?");
            divisain=entrada.readLine(); 
        }//LLave While
        System.out.println("Quina moneda voleu rebre? "+"(E)uros, (D)olars o (I)ens?");
        String divisaout=entrada.readLine();
        System.out.println("Quin es el vostre nom?");
        String nom=entrada.readLine();
        System.out.println("Quina es el vostre cognom?");
        String cognom=entrada.readLine();
        System.out.println("Quin es el vostre DNI?");
        String dni=entrada.readLine();
        System.out.println("Quina quantitat voleu canviar?");
        String quantitat=entrada.readLine();
    }
}
El método equals regresa un booleano por lo que si quieres comprobar si es false puedes hacer tanto !x.equals(y) como x.equals(y) == false.

También puedes usar el método x.compareTo(y), creo que ese regresa -1 si x es menor que y, 0 si son iguales y 1 si x es mayor que y, por lo que podrías compararlo con !=0.

Aunque si lo que quieres es que el ciclo se repita mientras "divisain" se diferente de esas tres letras deberías cambiar los || por &&. Porque, que pasa si te meten una "I"? Primero va a revisar si es diferente de D y va entrar al ciclo otra vez.

Eso o el cansancio me esta cruzando los cables :p
1 respuesta