为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2023-11-10 17:12:24
我编写的程序给我一个错误,我不知道如何修复它。我尝试了一些不同的方法,但没有成功。public static boolean isVowel(char c) {     c = Character.toLowerCase(c);        return c == "a" || c == "e" || c == "i" || c == "o" || c == "u"; }我希望我的程序能够正常运行,目标是让代码返回字符串是否是元音。
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

您应该将字符与字符文字进行比较,而不是字符串文字:


public static boolean isVowel(char c) {

    c = Character.toLowerCase(c);

    return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';

}

您可以尝试通过使用一组来保存所有可能的可接受的输入值来简化上述代码:


public static boolean isVowel(char c) {

    Set<Character> chars = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u'));

    return chars.contains(Character.toLowerCase(c));

}


查看完整回答
反对 回复 2023-11-10
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

c是一个char"a"是一个Stringchar并且String是不兼容的类型。

return c == "a" || c == "e" || c == "i" || c == "o" || c == "u";

c == "a"您进行比较charString评估。

为了解决这个问题,我会将行更改为

return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';c与字符进行比较。


查看完整回答
反对 回复 2023-11-10
?
HUWWW

TA贡献1874条经验 获得超12个赞

因此,当您说 时c == "a",您实际上是在尝试将参数(字符)与字符串“a”等进行比较。

尝试将这些行更改为c == 'a'(单引号表示字符),依此类推其余条件。


查看完整回答
反对 回复 2023-11-10
  • 3 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信