[英]How to pass command-line arguments?
我嘗試編譯這個簡單程序時遇到上述錯誤:
/* @author
* This program expects two command-line arguments
* -- a person's first name and last name.
* For example:
* C:\Mywork> java Greetin Annabel Lee
*/
public class Greetin
{
public static void main(String[] args)
{
String firstName = args[0];
String lastName = args[1];
System.out.println("Hello, " + firstName + " " + lastName);
System.out.println("Congratulations on your second program!");
}
}
從查看其他問題,我理解錯誤與args == 0
和0
大於數字有關,但我不知道如何解決這種情況的問題。 是否有任何方法錯誤也被識別為由void
引起?
我的猜測是你的程序沒有提供任何args。 好的慣例是確保用戶輸入預期的args數量,否則死亡。 在你的情況下:
if( args.length != 2 ){
System.out.println("usage: Greetin <firstName> <lastName>");
}
else{
String firstName = args[0];
String lastName = args[1];
System.out.println("Hello, " + firstName + " " + lastName);
System.out.println("Congratulations on your second program!");
}
此外,請確保在編譯之后鍵入: java Greetin Annabel Lee
以正確設置參數。
您可能沒有將兩個命令行參數傳遞給您的程序。 該錯誤告訴您數組args
沒有任何元素,因為索引0
超出了有效范圍。 確保在運行程序時傳遞參數。
java Greetin Annabel Lee
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.