2017-05-30 53 views
-3

在hackerrank上練習一些問題時,一些解決方案有argh而不是args(我主要使用它)。另外,我知道還有另一個可以傳遞給main()函數的參數,那就是argv。因此,在所有的,還存在着三種不同的論點:Java中的args和argh與argv有什麼區別?

ARGS

哎呀

的argv

能否請你告訴我,所有三個如何以及何時使用它們之間的區別?

這裏是代碼:

class Solution{ 
public static void main(String []argh){ 
    Scanner in = new Scanner(System.in); 
    int n = in.nextInt(); 
    for(int i = 0; i < n; i++){ 
     String name = in.next(); 
     int phone = in.nextInt(); 
     // Write code here 
    } 
    while(in.hasNext()){ 
     String s = in.next(); 
     // Write code here 
    } 
    in.close(); 
    } 
} 

請注意,我不要求解決上述問題。我已經解決了它併成功提交了,但是我想知道的是,通過添加argh而不是args會有什麼不同?

在此先感謝!

+1

無論你怎麼稱呼它,它都是一樣的論點。 – Eran

+0

沒有區別,它們只是不同的名稱,你可以隨意命名它們,但這些更常見。 – Kaiserbogey

+3

不錯的應該在那裏燃燒的標籤集合 – Aaron

回答

4

Java函數簽名根據它們的返回值和參數類型進行驗證,但從不檢查參數的名稱。這意味着

public static void main(String... parameters) { /* [...] */ } 

是一個有效的main功能。

這也意味着您在實現其功能時不必使用與接口相同的參數名稱,或者在重載其功能時擴展的類。

相關問題