为什么当前的多个条件if语句不能在没有元音的情况下创建新字符串?

public class Disemvowel {
    public static void main(String[] args) {
        System.out.println("Please enter a word: ");
        Scanner stdin = new Scanner(System.in);
        String word = stdin.next();
        int wordLength = word.length();
        String disemvoweledWord = "";
        for (int i=0;i<=(wordLength-1);i++){
            char currentLetter = word.charAt(i);
            System.out.println(currentLetter);
            if (currentLetter!='a' || currentLetter!='e' || currentLetter!='i' || currentLetter!='o' || currentLetter!='u'){
                disemvoweledWord += currentLetter;
            }
        }
        System.out.println(disemvoweledWord);
    }
}

最佳答案

您应该对条件进行“与”运算,而不是“或”运算。

您只想在字母不是'a'并且不是'e'并且不是'i'时添加字母...

若要亲自查看,请计算字母为“ a”或“ e”时布尔表达式的值。

10-04 11:48