我想知道:有没有办法读取扫描仪的输入 “不区分大小写”是小写还是大写? 我必须做出很多“ Y”或“ N”答案,并且必须将每个扫描程序输入都转换为String,然后使用“ .toUpperCase”,“。toLowerCase”。 我觉得我想念一些更实用的东西...
我的另一个想法是创建一个扫描器类,该类将每个输入转换为字符串,然后转换为Upper / LowerCase,但是我的问题基本上是,是否有办法从一开始就设置我可能会丢失的东西……>
public void acariciar(ArrayList<Animal> animales) {
System.out.println("Quiere acariciar a estos animales?? Y ó N");
String inputDeUsuario = escaner.nextLine();
if (inputDeUsuario.toUpperCase().equals("Y")) {
for (Animal animal : animales) {
animal.acariciado();
}
}
}
答案 0 :(得分:3)
没有“不区分大小写的输入”之类的东西-拉丁字母固有地是大写或小写。但是您可以要求比较,以忽略要比较的字符串的每个字符对之间的大小写差异,用String.equalsIgnoreCase()
:
inputDeUsuario.equalsIgnoreCase("Y")
(如果您处于无法控制相等比较的情况,例如,如果要向HashSet
添加字符串,则可以用正确的方法:选择小写或大写,并将所有内容转换为这种情况。)