java - 通过 Scanner 保证整数输入的更简单方法?

标签 java parsing integer user-input java.util.scanner

对于我正在编写的程序,我需要向用户询问 1 到 8 之间的整数。我已经尝试了多种(更简洁的)方法来执行此操作,但都没有奏效,所以我只剩下这个:

    int x = 0;
    while (x < 1 || x > 8)
    {   
        System.out.print("Please enter integer  (1-8): ");

        try
        {
            x = Integer.parseInt(inputScanner.next());
        }
        catch(NumberFormatException e)
        {
            x = 0;
        }
    }

其中 inputScanner 是一个扫描器。当然有更好的方法吗?

最佳答案

Scanner 做正则表达式,对吧?为什么不先检查它是否匹配“^[1-8]$”呢?

关于java - 通过 Scanner 保证整数输入的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/471013/

相关文章:

Java:如何比较 CSV 文件的列并打印特定行

c - 在 YACC 规则中使用预定义 token (%token) 和使用单个字符之间的区别

javascript - 我怎样才能让输入字段只接受 AngularJS 的 INTEGERS

php - Casting 在 PHP 中如何工作?

C# 在给定部分权重算法的部分拆分整数

java - Firestore 查询数据顺序

java - HTML-PD4ML Java

java - 缺少 BlackBerry Java CodeCompletion

java - 是否有等效的 verifyZeroInteractions() 用于验证与模拟对象交互的确切数量?

java - 解析 JSON 抛出异常