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

时间:2015-03-01 21:12:25

标签: java arrays reference command-line-arguments

我被要求做的程序是数字分析器。该程序查找min,max,med,range,average和sum。我想要做的是从输入中获取参数并将它们传递给不同的方法。

示例:

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);        
}

1 个答案:

答案 0 :(得分:1)

  

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

console参数只是一个String数组。

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

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]);
}