处理类中每个输入的扫描程序异常

时间:2018-04-21 13:29:14

标签: java exception

我想取一个整数但避免字符串输入的异常。我在这方面遇到了很多麻烦,但似乎它应该是如此基本。人们提到了try / catch,我做了这个并且它工作了,但是一旦我把它放在一个循环中我就不能打破循环,而且我有很多输入请求而且看起来像很多代码只是一条输入线。有人告诉我你可以使用Integer.parsInt,但我也无法使用它,所以我认为这是不正确的。

public static void main(String[] args) {

   Scanner keyboard = new Scanner(System.in);
   System.out.println("enter something");
   int num = Integer.parseInt(keyboard.nextLine());
   System.out.println(num);

}

我测试了它并且它没有工作。它仍然抛出异常。那么我有什么方法可以实现这一目标呢?

由于

1 个答案:

答案 0 :(得分:1)

检查类似的东西

Scanner sc = new Scanner(System.in);
System.out.print("Please enter an int: ");
String s = sc.next();
while(!s.matches("\\d+")) {
    System.out.println("Input is not valid! Re enter an integer!");
    System.out.print("Please enter an int: ");
    s = sc.next();
}
int numWeight = Integer.parseInt(s);
System.out.println("Int: " + numWeight);

像这样,在确定字符串输入是整数后执行Integer.parseInt。