簡體   English   中英

catch 語句重復執行

[英]The catch statement repeatedly executes

我正在嘗試實現一個(重新)try-catch 塊。

Scanner sc = new Scanner(System.in);

while (true){
    try {
        t = sc.nextInt();
        break;
    } catch (Exception e) {
        System.out.println("Please enter a whole number without any symbol(s)!");
    }
}

但是這里的問題是控件再次進入它到達那里的catch塊,並且在此之前從未嘗試執行try塊。

這是我解決它的方法...

/*java.util.*/Scanner sc = new /*java.util.*/Scanner(System.in);

while(true)
{
  if(sc.hasNextInt()){ t=sc.nextInt(); break;}
  System.out.println("Please enter a whole number integer (between -2,147,483,649 and 2,147,483,648) without any symbol(s)!");
  sc.nextLine(); // hasNextInt() only scans the current line in the buffer
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM