2013-07-15 146 views
0

我下面的代碼添加到一個新的類我用Java創建:(String []參數)是什麼意思?

public static void main(String[] arguments) { 

我明白公衆,靜態和無效的意思,但到底是什麼(String[] arguments)是什麼意思?

+7

我建議你閱讀[Java教程](http://docs.oracle.com/javase/tutorial/)。 –

+0

請參閱[docs.oracle.com有關命令行參數的Java教程](http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html) –

+0

@ dimo414這不是同一個問題 - 它是問*爲什麼*,這是問*什麼*。 –

回答

9

main()方法,如果你的程序是一樣

java YourClass arg1 arg2 

通過控制檯運行現在,如果你遍歷String []

for (arg : arguments) 
    System.out.println(arg); 

可以採取String類型的輸入參數,內main()它應該打印

arg1 
arg2 

演示:

public class AddTwoNumbers { 

    public static void main(String[] args) { 
     if(args.length == 2) { 
     try { 
      int a = Integer.parseInt(args[0]); 
      int b = Integer.parseInt(args[1]); 
      System.out.println("a + b = " + a + " + " + b + " = "+ (a + b)); 
     } catch (NumberFormatException e) { 
      System.err.println("Invalid Input: Please enter numbers."); 
     } 
     } else { 
     System.err.println("Missing Input: Please enter TWO numbers."); 
     } 
    } 
} 

可以作爲

java AddTwoNumbers 2 3 

您的控制檯上運行此,它應該使用命令行打印

a + b = 2 + 3 = 5 
+1

在你的演示中,我建議首先驗證'args'的長度。 –

+1

@PaulBellora更新。謝謝。 –

1

這意味着函數需要一個字符串數組。

1

String[] arguments是運行時參數到您的java程序的數組。如果需要,你可以通過arguemnts到您的Java程序是這樣的:

java yourJavaMainClass args1 args2 

在Java代碼中,你可以使用簡單地在這個遍歷數組提供的參數。

arguments[0] // this should give you the args1 
0

運行程序和th e提供的輸入存儲在obj數組中。所以如果你運行這個類作爲java className a1 a2那麼對象數組將有a1和a2作爲元素。

或者,如果你正在使用Eclipse IDE中的去跑/調試配置,做如圖所示 enter image description here

1

這些是主要的函數需要的參數。

String [] arguments是一個String對象的java數組。這意味着主函數需要一個字符串數組。這個字符串數組通常包含從命令行運行程序時傳入的所有命令行參數參數。

從命令行

java className stringOne stringTwo 

在程序 注:指..所以在參數

for (stringObject : arguments) { 
    System.out.println(stringObject); 
} 

或閱讀以此爲stringObject如果你知道字符串的確切數額,將在參數是兩人隨後

System.out.println(arguments[0]); 
System.out.println(arguments[1]); 

輸出 - >

stringOne

stringTwo

希望這有助於!祝你好運學習Java

2

它的字面意思是「一個數組,其中的每個元素至少是一個字符串,我們將命名參數」。

在該行的其餘部分的情況下,main作爲輸入,「一個陣列,其中在它的內部的每一個元素是至少一個字符串,我們將其命名爲參數」

由於這是該方法方法調用中,有一個特殊的「正則參數傳遞的規則例外」。如果您的輸入未在程序的某個其他部分中定義,則看起來像這樣的方法只有很少幾次之一。取而代之的是,Java虛擬機通過您爲JVM提供的命令行參數構造了此方法的輸入。

+0

知道你有引號,但是在討論Java時,它的英語語言意義上仍然會有'exception'這個詞,尤其是對於初學者:) – anotherdave

+1

@anotherdave根據你的建議,我修改了工作方式,希望更清晰。 –

1

這是在執行過程中可能傳遞給程序的參數數組。例如:

java YourClass param1 100 X 

在運行時,你就會有這樣的陣列

System.out.println(args.length); //prints 3 
System.out.println(args[0]); //prints param1 
System.out.println(args[1]); //prints 100 
System.out.println(args[2]); //prints X 
相關問題