English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

public class snow{
public static void main(String args[]){
int sum=0;
int n=Integer.parseInt(args[0]);
for(int i=1 ;i<=n ;i++){
sum+=i;
}
System.out.println("1+2+3+…….+"+args[0]+"="+sum);
}
}
這是 輸入一個整數 然後從 1 +到輸入的數 的程式 請問如果 輸入的數 是浮點數 要怎修改成 "你輸入的數不是整數" 想了很久不想不出來 @@ 加判斷嗎? 總覺怪怪的

2006-10-22 09:26:12 · 4 個解答 · 發問者 油魚子 2 in 電腦與網際網路 程式設計

可以講的清楚點麻 因為我剛學 太深可能不了解 多謝

2006-10-22 12:26:05 · update #1

可以用個小例子給我參考看看麻 試了好幾次還是會錯誤 頭腦卡死

2006-10-23 06:39:39 · update #2

4 個解答

 我覺得 looping 大大的方法不錯,我照著他的想法實作出來給你做參考。在 Integer.parseInt() 這個方法中如果傳入的不是可以解析的整數,則會丟出一個 NumberFormatException,利用這個 Exception 就可以告訴使用者"你輸入的數不是整數"了。我在你的程式裡加了幾行(以紅字標出),僅供參考。public class snow{  public static void main(String args[]){    int sum=0;    try {      int n=Integer.parseInt(args[0]);    } catch (NumberFormatException nfe) {      System.err.println("你輸入的數不是整數");    }    for(int i=1 ;i<=n ;i++){      sum+=i;    }    System.out.println("1+2+3+…….+"+args[0]+"="+sum);  }}

2006-10-31 10:50:26 補充:
有點小問題,請將紅字部分改為
int n = 0;
try {
n=Integer.parseInt(args[0]);
} catch (NumberFormatException nfe) {
System.err.println("你輸入的數不是整數");
}

2006-10-31 05:47:51 · answer #1 · answered by ? 7 · 0 0

判斷args[0]字串裡是否有小數點就行了。

2006-10-22 20:07:02 · answer #2 · answered by 吉他 5 · 0 0

用最笨的方法
把輸入的 String 用 parseInt 轉成 int , 然後再把轉好的 Integer 轉成 String 與之前的 String 做比對,不知道這樣可以嗎? 沒測試過...

2006-10-22 10:30:39 · answer #3 · answered by ? 2 · 0 0

用Exception機制去處理
int n;
....
try{
n=Integer.parseInt(args[0]);
}catch(Exception e){
....
}
....

2006-10-22 10:02:46 · answer #4 · answered by ? 4 · 0 0

fedest.com, questions and answers