2017-05-30 57 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功能。

这也意味着您在实现其功能时不必使用与接口相同的参数名称,或者在重载其功能时扩展的类。

相关问题