如何从控制台解析参数并检查它们是否在方法中有效

时间:2012-10-17 03:03:37

标签: java

我的代码在main方法中工作,但是一旦我尝试将它放在自己的方法中,我得到“args无法解析为变量”另外,我对java很新,有没有办法为了简化这个代码块,我有一本显示模块化代码的书,但没有详细解释。

 private static boolean validateInput() {

    //if invalid character is entered ie. a letter, will go to the catch
    try 
    {
        number1 = Integer.parseInt(args[0]);          
    }
    catch (Exception e)
    {
        System.out.println("Input #1 is not a valid integer.");
        return false;
    }

    try
    {
        number2 = Integer.parseInt(args[1]);
    }
    catch (Exception e)
    {
        System.out.println("Input #2 is not a valid integer.");
        return false;
    }

    try
    {
        number3 = Integer.parseInt(args[2]);
    }
    catch (Exception e)
    {
        System.out.println("Input #3 is not a valid integer.");
        return false;

    }
    return true;
}

3 个答案:

答案 0 :(得分:4)

您可以将String[] args作为参数传递给validateInput()

public static void main(String[] args) {
    if (validateInput(args)) {
        ...
    }
}

private static boolean validateInput(String[] args) {
    ...
}

答案 1 :(得分:2)

您需要将args传递给方法,否则它不知道它是什么。

validateInput方法重新声明为

private static boolean validateInput(String[] args) {

从你的主要方法,称之为....

public static void main(String[] args) {
    //...Pre init...
    boolean isValid = validateInput(args);
    //...Post init...
}

答案 2 :(得分:0)

更改

 private static boolean validateInput() { 

  private static boolean validateInput(String[] args) {

并在main中将其称为

     boolean result = validateInput(args);