【问题标题】:How to ignore case in java when asking for user input in a loopjava - 在循环中询问用户输入时如何忽略Java中的大小写
【发布时间】:2015-11-09 04:07:38
【问题描述】:

当用户输入“Y”值时,我试图将这个程序作为循环运行。我希望输入忽略大小写,以便用户也可以输入“y”或“n”。我会使用 equalsIgnoreCase() 方法吗?如果是这样,我想将我的 char 更改为布尔值吗?大约一个月后,我对 java 还是很陌生,所以任何帮助都将不胜感激。我已经玩了一段时间了,如果没有至少一个错误,我无法弄清楚。在这一点上,我让它循环的事实是一个奇迹:)

        char Again = 'Y';
        while(Again == 'Y')
        {
            long product = 1, count = 0;
            System.out.println("This program will generate a table of powers of a number.");
            System.out.println("You just have to tell me what number: \n\n");
            System.out.print("Enter an integer please: ");
            int MyNum = Fred.nextInt();
            while(count<5)
            { product = product * MyNum;
              System.out.print(product + ",");
              count = count + 1;
            }
         System.out.println("\nBye for now.....");
         System.out.print("\n\n\n Try another number (y/n)?");
         String Word = Fred.next();
         Again = Word.charAt(0);
        }

【问题讨论】:

  • "我会使用 equalsIgnoreCase() 方法吗?" - 是的。 “我想把我的字符改成布尔值吗?” - 不,你想把它改成字符串。此外,请使用 Java 命名约定,意思是 - 只有类/接口/枚举以大写字母开头,变量/方法以小写字母开头。
  • 我能否谦虚地建议回到基础,打好基础。循环、布尔测试、大小写转换——这些都是需要练习的事情,你可以不假思索地做这些事情。找到一些对您来说几乎太简单的教程,然后从那里开始学习。
  • equalsIgnoreCase 是一种可能的解决方案,但如果您使用的是char,您也可以考虑Character.toLowerCase
  • @wwkudu 有什么教程可以推荐吗?我正在使用我的导师让我使用的类/接口/变量,所以我会接受他的。我仍在学习,因此我愿意接受您或其他任何人可以提出的任何反馈或教程。我真的很想学习 Java 并准备好学习,那么您认为哪些教程可以帮助我更好地理解 Java?我目前正在从我的课程书中学习我所知道的(Java 软件解决方案,Lewis Loftus 着)。
  • 有大量教程 - 网络搜索是您的朋友。我喜欢Code Academy 的互动性,但如果你有一本好的教科书,那就继续润色,如果需要,反复练习,

标签: java while-loop ignore-case


【解决方案1】:

char 是原始数据类型,它没有成员函数。因此,如果您坚持使用 char,则需要同时检查小写和大写:

 while(Again == 'Y' || Again == 'y')

或者,您可以将 Again 声明为 String: Again = Word.toUpperCase(); 然后使用 while("Y".equals(Again))

或者,只是Again = Word; 然后while("Y".equalsIgnoreCase(Again))

【讨论】:

  • 谢谢,我的导师让它看起来比这更难,并让我们使用不同的字符串方法,包括 equalsIgnoreCase,所以我真的想弄清楚如何使用它。
  • @Evette22 没问题,如果您的讲师要求您使用字符串方法,您可以使用选项 2 或选项 3。
  • 我喜欢第一个选项,它更容易,我将在我正在制作的另一个程序上使用它!我不知道我能做到这一点。至于这个作业,我将使用最后一个选项,以便演示使用字符串方法。非常感谢。我试图在 String Word = Fred.next(); 上使用该方法line.and 它绝对不适合我。我仍在学习可以在我的代码中使用方法和展示位置的位置。
  • char 没有自己的原始方法,但Character 类中有很多方法与成员函数一样好。所以不,您不需要转换为 String 或编写两个 == 比较。
  • @ajb 是的,Character 是 char 的包装类,它具有成员函数。但不是类似于 equalsIgnoreCase 或 toUpperCase。
猜你喜欢
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多