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
我覺得 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⤋