java關於main的參數的問題

問題的前提是要 從命令行輸入兩個整數!然後計算這兩個整數的商和餘數,並輸出結果(注意:除數不允許爲0)。其目的就是考察我們對main參數的瞭解! 

我剛剛開始的代碼是:
import java.lang.*;
public class WenTest{
public static void main(String args[])
{
int i=Integer.valueOf(args[0]).intValue();
int j=Integer.valueOf(args[1]).intValue();
int s=i+j;
int mod=i%j;

System.out.println("兩數之商是: "+s);
System.out.println("兩數的餘數是: "+mod);
}
}

編譯通過,但運行錯誤:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0
at WenTest.main(WenTest.java:8)

後來的分析:

       這個題的用意在於main()方法的參數問題,參數是一個字符數組,String[] args ,那麼首先我們必需要回答的一個問題是這個數組中的數據從哪來?
答案是:在我運行時給它,在Dos下輸入java WenTest 5 6 2 3^^^^^那麼這個時候args.length就是你輸入的長度;
那麼接下來還有一個問題:就是我們怎麼用他?
答案:正如我程序中的一樣用到兩個量,是args[]中的那兩個量呢?是前兩個!沒用到的數據我們怎麼知道它是不是存在呢?後來用一個語句測試System.out.println(args.length+"個");
現在知道了程序錯在哪了!其實程序那也沒有錯,就是運行時錯誤,我想你應該知道了吧用javaWenTest1 8

這個題的用意是讓我們瞭解main()的參數問題!

但如果是想接受鍵盤輸入的數的話請用

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
如:
import java.io.*;//不能少
public class InputTest{
public static void main(String[] args){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入兩個數:");
try{
int a=Integer.parseInt(br.readLine());
int b=Integer.parseInt(br.readLine());
}catch(IOException e){
System.out.println("error!");
}
System.out.println("ok!");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章