不要這樣處理用scan.next()接收字符串,然後轉成整數,不是數字的話拋出NumberFormatException異常。
import java.util.*;
import java.io.*;
public class main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int k,SUM;
boolean ok=false;
Scanner scan=new Scanner(System.in);
k=0;
SUM=0;
String tmp=null;
while (!ok)
{
try
{
System.out.println("請輸入壹個整數進行累加操作:(累加結束標誌為輸入999)");
SUM += k;
k = 0;
tmp = scan.next();
k=Integer.parseInt(tmp);
if(k==999){ok=true;}
} catch (NumberFormatException e)
{
System.out.println("輸入數據不合法,請重新輸入!");
}
}
System.out.println("累加和為" + SUM);
}
}