java - 如何确保用户输入在 Java 中始终是整数
问题描述
我正在编写一个程序,要求用户只输入整数作为输入。否则,程序将继续重复并要求用户再次输入值,直到它是整数。但是我在这里的代码中有一个无限循环
enter code here
boolean checkNum = false;
int numOne = 0;
do
{
// check if user enter integer or not
checkNum = read.hasNextInt();
if(!checkNum)
{
System.out.println("Error, please input only integer ");
}
} while(!checkNum);
// retrieve data integer from the user
numOne = read.nextInt();
解决方案
尝试这个
Scanner scanner = new Scanner(System.in);
String s = null;
System.out.println("enter a number");
while(!(s = scanner.nextLine().trim()).matches("\\d+"))
{
System.out.println("enter only intger");
}
int num = Integer.parseInt(s);
推荐阅读
- android - 自定义信使应用程序不会在所需的提供程序中存储任何彩信内容(android 10)
- go - gorm exec 从使用原始 sql 的插入事务返回 ID
- r - 根据列数替换值 R
- reactjs - 组件异常:未定义不是对象(评估'board[rowSet][colSet]')
- javascript - 保护 Instagram 的客户端访问令牌
- url - 将数据从一个电子表格复制到另一个但
- python - 在 Pydantic BaseModel 类中实例化后更改字段
- swift - 整个列表是可按下的,而不是按钮本身
- php - 在 CodeIgniter 4 中验证多个输入
- java - ImageIO 读取 gif 并写入其他文件