最近我遇到过这段代码,我真的很想知道何时以及如何使用这个args.length
import java.util.*;
class Average
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int choice;
int a=0,min=0,max=0,x;
int n = args.length;
System.out.println("1-Sum");
System.out.println("2-Average");
System.out.println("3-Minimum");
System.out.println("4-Maximum");
System.out.println("enter your choice");
choice = sc.nextInt();
for(int i=0;i<n;i++)
{
a+=Integer.parseInt(args[i]);
}
switch(choice)
{
case 1: System.out.println("The sum is :" +a/n);
break
case 2: System.out.println("The Average is :" +a/n);
break
case 3: for(int i=0;i<n-1;i++)
{
x=Integer.parseInt(args[i]);
if(x<Integer.parseInt(args[i+1]))
min=x;
else min=Integer.parseInt(args[i+1]);
}
System.out.println("The minimum is :" +min);
break;
case 4: for(int i=0;i<n-1;i++)
{
x=Integer.parseInt(args[i]);
if(x>Integer.parseInt(args[i+1]))
max = x;
else max=Integer.parseInt(args[i+1]);
}
System.out.println("The maximum is :" +max);
break;
}
}
}
答案 0 :(得分:1)
main()
方法是java程序执行开始的初始点。这就是main()
方法为public
,static
和void
的原因。传递给main()
方法的参数是String args[]
,即String数组。变量名不一定只能是args
,它可以是任何变量名,即String names[]
。
现在,当没有传递参数时,为什么 args.length 为零:
当从命令行运行任何java程序时,它将以java ProgName
运行。
命令行参数作为java ProgName Arg1 Arg2
传递给java程序。
在此示例中,将两个参数传递给java程序ProgName
。很简单,将参数传递给java程序与在任何操作系统上运行带参数的命令的方式相同。参数与命令一起传递,只是由分隔符作为&#34;空格&#34;。
Java解释器解释这些参数并传递给java程序的main()
方法。
当我们从命令行向java程序传递参数时,它存储在args[]
字符串数组中。这里传递了两个参数,同时允许运行java程序args[0]
和args[1]
,但args[2]
不会。如果没有传递参数,则相同,因此java甚至不允许args[0]
。
Java将命令行参数解释为String数组,就像我们传递2个参数一样,它是一个带args[0], args[1]
的数组,如果我们传递4个参数,它就是一个带args[0], args[1], args[2], args[3]
的数组,当没有参数时传递它仍然是一个没有元素的String数组对象。
因此,即使我们没有将任何命令行参数传递给java程序,args.length
仍然等于零 - (0)。
答案 1 :(得分:0)
运行程序时,可以运行通过command-line arguments的程序。如果主要方法是:
public static void main(String args[])
参数将在名为String
的{{1}}数组中接收。现在,关于你的问题:
args
的含义是什么?
这是数组built-in property length
的值,它将是固定大小。请注意,Java中的数组是一种特殊的对象。
答案 2 :(得分:0)
args.length是args []数组中的元素数。 args []数组包含从命令行传递给main函数的参数。
答案 3 :(得分:0)
args 数组中的元素数量,在 public static main ( String [] args )中定义。< / p>