结合charAt和IgnoreCase?

时间:2015-02-07 20:42:22

标签: java

(java初学者),

我制作了一个简单的游戏,如果用户想要再次玩游戏,用户可以输入。但是,只要他输入yes,Yes或yes的任意组合,我希望游戏继续重播。所以只要第一个字母是y,游戏就会继续。例)

游戏运行

} while(newGame.charAt (0) == 'y');

但我也希望java忽略它是Y还是y,我尝试将charAt(0) == 'y'和IgnoreCase结合起来但是无法弄明白。

我知道我可以做&& 'Y',但好像是不必要的代码?

由于

4 个答案:

答案 0 :(得分:5)

对于不区分大小写的一个巧妙的技巧是在比较之前简单地转换为小写。类Character包含许多用于操作字符的有用函数,因此您可以这样做:

} while (Character.toLowerCase(newGame.charAt(0)) == 'y');

答案 1 :(得分:0)

您应该使用方法String.startsWith。它的名字正在解释它在做什么。要忽略区分大小写,您可以String.toLowerCase(或toUpperCase分别使用)。

这将产生以下结果:

if (newGame.toLowerCase().startsWith("y")) {
    // Play again
}

答案 2 :(得分:0)

根据您在此处描述的逻辑,我认为您应该使用||代替&&

为了忽略区分大小写,您可以使用Character的类静态方法toUpperCase()toLowerCase()。示例 -

while(Character.toUpperCase(newGame.charAt (0)) == 'Y'){
 ...
 ...
 ...
}

答案 3 :(得分:0)

您可以通过使用toLowercase()或toUppercase()方法将字符转换为小写或大写来忽略区分大小写。

while(Character.toLowerCase(newGame.charAt(0))=='y');

while(Character.toUpperCase(newGame.charAt(0))=='y');