当前位置: 首页 > 知识库问答 >
问题:

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

锺离刚洁
2023-03-14

我想知道:有没有办法让扫描仪输入的读数“区分大小写”删除小写或大写?我必须做很多“Y”或“N”的答案,我必须将每个扫描仪输入转换为字符串,然后使用“. toUpperCase”“. toLowerCase”。我觉得我错过了更实用的东西...

我的另一个想法是创建一个scanner类,将每个输入转换为字符串,然后再转换为大写/小写,但我的问题基本上是,是否有任何方法可以从一开始就设置我可能缺少的内容。。。

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个答案

左翰海
2023-03-14

没有“不区分大小写的输入”这样的东西——拉丁字母本质上要么大写,要么小写。但是您可以要求比较以忽略正在比较的字符串的每个字符对之间的大小写差异,使用String.equalsIgnoreCase()

inputDeUsuario.equalsIgnoreCase("Y")

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

 类似资料:
  • 问题内容: 我不明白为什么第15行不做任何输入,将不胜感激:3 输出量 请输入您的问题的第一个数字!2552所以您选择了2552选择您的第二个数字41您选择了第二个数字41现在输入ur运算符 由于某种原因,输出在最后一行结束并停止,并且不接收任何信息! 问题答案: 您需要在调用行的后面立即调用,原因是仅要求下一个整数不会占用输入中的整个行,因此您需要通过调用来跳至输入中的下一个新行字符。 每次您需

  • 我正在编写一个程序,帮助火星定居者计算他们潜在房屋的面积/大小。程序的整个前半部分按预期工作,但由于某种原因,当我提示用户是否愿意输入第二所房子时,我的扫描仪不再接受任何输入,程序执行结束,不允许我键入yes或no作为响应,它只是打印出用户提示并中断。我到底做错了什么?

  • 我想在我的代码中手动读取一些值。除了最后一个(lambda2)之外,它对所有值都有效。我可以无限地继续键入值,即使它们不是双精度的,也不会发生任何事情。如果我用任何其他值键入其他值,我会收到一条错误消息,以及第一次输入lambda2时的错误消息。我在另一个代码中以类似的方式(最终只创建了一个不同的对象)进行了操作,并且效果很好。

  • 问题内容: 我正在尝试做的是拥有多个具有不同变量的输入。每个变量将是不同方程式的一部分。我正在寻找一种方法来做,我想我有一个主意。我只想知道这是否合法,也许还有更好的方法。 问题答案: 如果每个输入都问相同的问题,则应使用循环和输入数组: 或者如Chip所建议的,您可以从一行中解析输入: 您在正确的轨道上,所做的工作正常。这只是一种更好,更灵活的处理方式。

  • 对于作业,我必须编写以下代码: 当我尝试编译它时,它在命令提示符下给了我3个错误,说“无法解析符号,符号:类扫描仪,位置:类单词,扫描仪用户输入=新扫描仪(System.in)”。我不确定错误在哪里。我应该使用BufferedReader作为输入吗?

  • 问题内容: 因此,我是一名新Java程序员,我试图弄清楚为什么一段代码无法正常工作。我遇到的问题是:“字符串兴趣= input.nextLine();”,它跳过了用户的输入并跳至下一个System.out,因此它仅在控制台中显示“您的个人资料…”在允许用户输入任何数据之前。抱歉,这是一个愚蠢的问题,我很新! 问题答案: 这样说: 其余代码可能与您上面的代码相同。 编辑: 它必须是这样的(我的意思是