如何将参数从控制台传递给不同的方法?

How can I pass arguments from the console to different methods?

我被要求做的程序是一个数值分析器。该程序查找最小值、最大值、中值、范围、平均值和总和。我想做的是从输入中获取参数并将它们传递给不同的方法。

示例:

public static void main(String[] args)
{   
    NumericalAnalyzer analyzer = new NumericalAnalyzer(args);
    analyzer.calculate(); 
    analyzer.display();
}

main 获取输入,然后一旦 calculate 被调用:

public void calculate()
{
    ascending();
    average();
    median();
    min();
    max();
    sum();
    range();
}

使用这些方法中的输入,例如:

public void sum(//input from main here?)
{           
    int size=6;
    int sum=0;
    //have the arguments from main in the array
    int [] Array = new int [size];

    for(int num : Array) 
    {
        sum = sum+num;
    }
    System.out.println("Sum of array elements is:"+sum);        
}

How can I pass arguments from th console to different methods?

控制台参数只是一个字符串数组。

您可以使用另一个字符串数组变量来保存来自控制台的输入,从那时起,它就是一个普通的字符串数组变量。

public static void main(String[] args){
    String[] input = args;
    //From now on use input anyway you like

    sum(input);
}

想象一下,在控制台中,您 运行 程序是这样的:

C:\>java myProgram 1 2 3 4

执行上述操作后 args 将填充 ["1","2","3","4"]

如果您需要它进行计算,只需将字符串解析为整数并使用这些值即可。

int[] values = new int[args.length];
for(int x=0; x<args.length; x++){
    values[x] = Integer.parseInt(args[x]);
}