我需要为扫描仪输入输入“不区分大小写”的代码。接受任何建议

时间:2019-01-07 14:33:06

标签: java eclipse java.util.scanner uppercase lowercase

我想知道:有没有办法读取扫描仪的输入  “不区分大小写”是小写还是大写? 我必须做出很多“ 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();
        }
    }
}

1 个答案:

答案 0 :(得分:3)

没有“不区分大小写的输入”之类的东西-拉丁字母固有地是大写或小写。但是您可以要求比较,以忽略要比较的字符串的每个字符对之间的大小写差异,用String.equalsIgnoreCase()

inputDeUsuario.equalsIgnoreCase("Y")

(如果您处于无法控制相等比较的情况,例如,如果要向HashSet添加字符串,则可以用正确的方法:选择小写或大写,并将所有内容转换为这种情况。)