簡體   English   中英

如何傳遞命令行參數?

[英]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 == 00大於數字有關,但我不知道如何解決這種情況的問題。 是否有任何方法錯誤也被識別為由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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM