如何测试字符串是否等于" x" || " X&#34 ;?

时间:2014-03-14 05:06:02

标签: java string equals

    String c = JOptionPane.showInputDialog(null,"Pick a conversion to do:\nGrade");
    if (c.equals("grade")||("Grade"))

如果用户输入成绩或成绩不仅仅是成绩,我希望它开始,但是当我使用它时,我得到一个错误。我该如何解决?

3 个答案:

答案 0 :(得分:3)

你不能放||语句在这样的方法调用中。

if (c.equals("grade")||c.equals("Grade")){
    //do stuff
}

还有其他方法可以完成你的任务,IE使用其他方法,但你的问题正在形成滥用||操作

答案 1 :(得分:3)

实际问题:您未正确使用||It expects, on both sides,存在类型boolean的内容。

来自JLS:

  

条件运算符或运算符的每个操作数必须是boolean或Boolean类型,否则会发生编译时错误。

由于"Grade"不是布尔值(但c.equals("grade") ),因此会出现编译时错误。

当你可以通过纠正右侧的布尔值来修复它...

if(c.equals("grade") || c.equals("Grade"))

...为什么不以更直接的方式做到这一点?

if(c.equalsIgnoreCase("grade"))

String上的这个特殊equals可能是针对这个用例(或其他用例,因为" GrAde"也会使你的检查失败)而设计的。它将首先对字符串执行长度检查,然后对每个元素进行不区分大小写的比较。

答案 2 :(得分:2)

您可以尝试:

if (c.toLowerCase().equals("grade")) { }