2014-11-15 51 views

回答

1

主要方法只有一個,因爲它是一種標準化的形式.Oracle不知道程序員需要多少個參數以及它們的類型。因此,使用String類型的'args []'可以將N個參數傳遞給您的程序,並根據需要進行轉換,因爲String可以成爲Java中的任何基本類型。

這裏是傳遞參數的應用程序與Java的例子:

java MyApp arg1 arg2 arg3 arg4 ... argN 

通過由空間分割,基於位置的每個值,可以檢索和操縱它們,例如,如果你需要與第4位的精氨酸,並將其轉換爲雙精度,你只需要做到這一點:

String toDouble = args[4]; 
double numericalValue = Double.parseDouble(toDouble); 

而且,這種形式被認爲用於傳遞一些參數定義和配置您的應用程序的一些行爲,所以具有獨特的陣列這可以完成。

1

args[]String陣列。所以,你可以通過一個以上的String給你的方法:

args[0] = "Hello"; 
args[1] = "World"; 
... 
0

當你在命令行中運行您的程序或在您的IDE指定程序參數,這些參數用空格分開(「世界你好」變成了「你好「和」世界「),並在第一個參數中提供給您的程序。即使其他陣列存在,也沒有用處。

0

你在質疑爲什麼Java(和C/C++同時)主線程只有兩個參數。 Java類有要求使用主類中定義的主要方法。否則你將看到一個錯誤:

"The program compiled successfully, but main class was not found. 
    Main class should contain method: public static void main (String[] args)." 

這只是你需要堅持到Java需求(下無聲的抗議,如果你願意的話)。相對於此,在C/C++/C++ 11中,您需要有一個int main方法,但不需要有任何爭執。即,以下是由C++主要類要求允許:

#include <iostream> 

int main(void) { return 0; } 

注意,在C/C++,還可以通過一個整數作爲主要論點。

#include <iostream> 
int main(int argc){ return 0;} 

總而言之,C/C++/Java都有自己的標準,你必須堅持。你可以爭辯說有些事情是不對的,但只要你是那些參與標準提交的人,我認爲你不能做任何改變。

有關C main的問題已回答here。此外,使用String []參數的主要方法的必要性已被解釋爲here

相關問題