![](/img/trans.png)
[英]What is the Proper Way to Specify “Usage” in Command Line Arguments for Java Main method?
[英]What is wrong with this way of using command line arguments in Java?
我的程序是這樣的:
public class Main {
public static void main(String[] args) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = a + b;
System.out.print("Sum is" + a);
}
}
我試圖給出兩個整數作為命令行參數,然后計算兩者的總和。 我讀到這是 Java 接收這些參數的方式,但出現錯誤:
Exception in main thread java.lang.ArrayIndexOutofBoundsException
這是為什么? 為什么我的數組args
越界?
您的命令行需要類似於
java Main 4 7
然后,在您的代碼中, args
將包含兩個元素,即4
和7
。
如果您的命令行是
java Main
然后args
包含零個元素,因此當您訪問args[0]
您會得到ArrayIndexOutOfBoundsException
因為args
包含任何元素,因此您無法訪問第一個元素,因為它不存在。
請注意,首先檢查args
包含多少個元素通常是一個好主意,因為正如您所見,在沒有所需數量的參數的情況下啟動 Java 程序非常容易。
args.length
將返回args
的元素數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.