我需要一个 'Case in-sensitive' 扫描仪输入代码。接受任何建议

I need to ask for a 'Case in-sensitive' code for scanner input. any advice accepted

我想知道:有没有办法让读取扫描仪输入 'case in-sensitive' 小写还是大写? 我必须做出很多 'Y' 或 'N' 的回答,我必须将每个扫描仪输入转换为字符串,然后使用“.toUpperCase”和“.toLowerCase”。 感觉少了一些实用的东西...

我的另一个想法是创建一个扫描器 class 将每个输入转换为字符串,然后再转换为 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();
        }
    }
}

没有 "case insensitive input" 这样的东西 - 拉丁字母本质上不是大写就是小写。但是你可以要求 comparison 忽略被比较字符串的每个字符对之间的大小写差异,String.equalsIgnoreCase():

inputDeUsuario.equalsIgnoreCase("Y")

(如果您处于无法控制相等比较的情况下,例如,如果您要向 HashSet 添加字符串,那么您的做法是正确的:选择小写或大写,并将所有内容转换为该大小写。)