无法读取Java中的单个字符

时间:2011-11-12 13:06:58

标签: java

我根据我发现的一个例子编写了这段代码:

do {
    System.out.print("¿What kind of envelope do you want? (A)Mini B)Midi C)Maxi): ");
    cadena = sc.next();
    tipo = cadena.charAt(0);
    tipo=Character.toUpperCase(tipo);
} while (tipo != 'A' || tipo != 'B' || tipo != 'C');

但它一直在问我这种信封而不是注册我的选择。 我做错了什么,我该如何解决?

3 个答案:

答案 0 :(得分:2)

tipo != 'A' || tipo != 'B' || tipo != 'C'

如果输入为A OR B或C - 条件仍将返回true 它会继续循环,因为它与其他两种组合不匹配。

!(tipo == 'A' || tipo == 'B' || tipo == 'C')

答案 1 :(得分:0)

尝试将||运算符更改为&&

答案 2 :(得分:-1)

使用!tipos.equals('A')代替!=