java - 只让用户输入正整数(不能输入小数或字符串)?

标签 java string input integer

我知道如何要求用户输入正整数,但我不知道如何处理代码以避免输入错误,例如小数或字符串输入。

  int seedValue;
  double angle, gunpowder;

  System.out.println("Please enter a positive integer seed value: ");
  seedValue = input.nextInt();

     while (seedValue <= 0) {  
        System.out.println("Please enter a positive integer seed value: ");
        seedValue = input.nextInt();
     }

     System.out.println("That target is " +
      threeDec.format(gen.nextDouble() * 1000) + "m away.");

最佳答案

这可能是一个方法:

  • 使用 Scanner.readLine();
  • 将输入读取为 string
  • 尝试使用 Integer.parseInt 方法将字符串转换为 int。如果输入字符串包含小数和无效数字,此方法将抛出 NumberFormatException
  • 如果在上一步中正确解析了输入值,则检查负值

关于java - 只让用户输入正整数(不能输入小数或字符串)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804872/

相关文章:

java - JGo 有开源替代品吗?

c - 为什么我的指针输出奇怪?

javascript - 如何将默认值传递给 React 中的输入(使用 props)

java - 如何将 BufferedImage 数据直接传递给 OpenCL?

java - 使用最少 "XOR"操作重新创建二进制矩阵

java - 调用被覆盖的基类的方法

ios - 如何在 swift 4 中获取包含精确句子/单词数量的字符串?

java - 从字符串标记器获取值

Python通过函数调用读取输入行

javascript - 从输入单选按钮获取平均值