2013-07-31 75 views
0

我寫一個簡單的代碼來了解手動傳遞價值,還有就是我的代碼ArrayIndexOutOfBoundException當我運行簡單的代碼

public class coba{ 
    public static void main (String[] args){ 
     int a; 
     int b; 
     a= Integer.parseInt(args [0]); 
     b= Integer.parseInt(args [1]); 

     int c=0; 
     c= a+b; 
     System.out.println("jumlah "+c); 
    } 
} 

爲什麼我得到ArrayIndexOutOfBoundException? 以及如何解決,所以我可以手動傳遞a和b的值? 感謝您的答案:)

+0

做你的命令執行'Java的科巴10,20'這樣 – Prabhaker

+1

你傳遞任何參數告訴我們要傳遞 – Anirudha

+0

同樣的觀點,請閱讀[Java命名約定(HTTP:/ /www.oracle.com/technetwork/java/codeconv-138413.html),它看起來會對您長遠有利。 – ppeterka

回答

8

大概你沒有傳遞兩個命令行參數。

java coba 10 20 

例如:如果你運行它,它應該是罰款。

可以使用args.length在開始驗證這一點:

public static void main (String[] args){ 
    if (args.length < 2) { 
     System.out.println("I need two command line arguments!"); 
     return; 
    } 
    int a = Integer.parseInt(args[0]); 
    int b = Integer.parseInt(args[1]); 
    int c = a + b; 
    System.out.println("jumlah "+c); 
} 
+0

Reputationhunter :) ...剛剛意識到你的「所有時間」的排名。 (這個評論是不是意味着offencive) – Loki

+0

哈哈哈...,沒有@Jon Skeet,其實我不是...,我認爲我必須通過值後,我運行java coba,順便thaks答案:) –

+0

呃... sory ...,我的意思是@Loki,而不是jon飛碟:) –

1
public static void main (String[] args){ // here args= String[0] 

} 

所以

a= Integer.parseInt(args [0]); // these are not valid 
    b= Integer.parseInt(args [1]); 
+0

所以如果我想初始化a和b - >(String [2] args)? –

2

運行您的程序,你應該從控制檯傳遞兩個參數/命令提示符

javac coba.java 

af !那之三

java coba 5 8 
+0

是的......,它的工作原理......,我錯過了這個值......我想我必須在運行java coba之後通過這個參數然後我傳遞值......謝謝 –

相關問題