gpt4 book ai didi

java - 如何在 Java 中要求用户在循环中重新输入某个字符串时只打印一次文本

转载 作者:行者123 更新时间:2023-11-29 08:28:15 25 4
gpt4 key购买 nike

我想要求用户输入一个字符串类型的数字,然后检查它是否是数字,如果不是,则再次要求重新输入字符串。我有这样的代码:

    System.out.print("Enter first number: ");
firstNum = scan.next();

while(validateNum(firstNum) == false) {
System.out.print("Please, enter number only: ");
firstNum = scan.next();
}

这是 validateNum 方法:

    private static boolean validateNum(String num) {
if (num.matches("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?")){
return true;
}
return false;
}

但问题是,当我对其进行测试并输入一些带空格的文本时,它会打印“请仅输入数字”的次数与输入的字符串中的空格次数一样多。我尝试从字符串中删除空格然后检查它,但它仍然提供许多打印件。

最佳答案

您正在使用 scan.next()。这将返回空格之前的内容。您希望 scan.nextLine() 扫描用户输入的整行

这是 docsScanner 类及其方法上。

简而言之:

next() : 扫描下一个完整的token

nextLine() : 扫描整行

关于java - 如何在 Java 中要求用户在循环中重新输入某个字符串时只打印一次文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com