从命令行获取输入并将其传递给方法

时间:2009-12-06 17:20:44

标签: java command-line

我从命令行获取一个字符串数组,并将其作为整数数组显示给用户。这可能是什么错误?

import java.lang.String;

public class arrayConvert {

    String strArray[];

    public int[] StrArrtoIntArr(String strArray[])
    {
        int intArray[] = new int[strArray.length];

        for(int count=0;count<strArray.length;count++)
        {
            intArray[count] = Integer.parseInt(strArray[count]);
        }

        return intArray;
    }

    public void displayArray(int intArray [])
    {
        for(int j=0;j<intArray.length; j++)
        {
            System.out.println(intArray[j]);
        }
    }

    public static void main(String[] args)
    {
        arrayConvert array_convert = new arrayConvert();
        array_convert.StrArrtoIntArr(args);
        array_convert.displayArray(intArray);
    }

}

3 个答案:

答案 0 :(得分:5)

您忘了将中间结果保存在主要课程中:

public static void main(String[] args)
{
    arrayConvert array_convert = new arrayConvert();
    int[] intArray = array_convert.StrArrtoIntArr(args);
    array_convert.displayArray(intArray);
}

您的代码中还有其他一些内容,您可能需要查看:

  • import java.lang.String;您不需要包含此内容。 java.lang会自动导入。
  • String strArray[];此变量从未使用过。 strArray[]中的变量StrArrtoIntArr是不同(本地)范围内的不同变量。保持全局变量可能会令人困惑。

答案 1 :(得分:0)

解析命令行参数的手写代码是不必要和繁琐的,特别是当您需要进行大量解析时。请改用第三方库,例如Apache Commons CLI

答案 2 :(得分:0)

该死的打了我一拳!

你忘了存储一系列的整数:

int[] intArray = array_convert.StrArrtoIntArr(args);