如何修复不兼容的类型错误?

我编写的程序给我一个错误,我不知道如何修复它。

我尝试了一些不同的方法,但没有成功。

public static boolean isVowel(char c) {
    c = Character.toLowerCase(c);   
    return c == "a" || c == "e" || c == "i" || c == "o" || c == "u";
}

我希望我的程序能够正常运行,目标是让代码返回字符串是否是元音。


守着星空守着你
浏览 88回答 3
3回答

杨魅力

您应该将字符与字符文字进行比较,而不是字符串文字:public static boolean isVowel(char c) {&nbsp; &nbsp; c = Character.toLowerCase(c);&nbsp; &nbsp; return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';}您可以尝试通过使用一组来保存所有可能的可接受的输入值来简化上述代码:public static boolean isVowel(char c) {&nbsp; &nbsp; Set<Character> chars = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u'));&nbsp; &nbsp; return chars.contains(Character.toLowerCase(c));}

斯蒂芬大帝

c是一个char,"a"是一个String。char并且String是不兼容的类型。return c == "a" || c == "e" || c == "i" || c == "o" || c == "u";c == "a"您进行比较char和String评估。为了解决这个问题,我会将行更改为return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';c与字符进行比较。

HUWWW

因此,当您说 时c == "a",您实际上是在尝试将参数(字符)与字符串“a”等进行比较。尝试将这些行更改为c == 'a'(单引号表示字符),依此类推其余条件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java