2

私のコードはメインメソッドにあるときに機能しましたが、それを独自のメソッドに入れようとすると、「引数を変数に解決できません」というメッセージが表示されます。また、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;
}
4

3 に答える 3

4

String[] argsにパラメータとしてを渡すことができますvalidateInput()

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

private static boolean validateInput(String[] args) {
    ...
}
于 2012-10-17T03:06:12.237 に答える
2

メソッドにを渡す必要がありますargs。そうしないと、メソッドが何であるかがわかりません。

validateInputメソッドを次のように再宣言します

private static boolean validateInput(String[] args) {

あなたのメインメソッドから、それを次のように呼び出します。

public static void main(String[] args) {
    //...Pre init...
    boolean isValid = validateInput(args);
    //...Post init...
}
于 2012-10-17T03:06:54.853 に答える
0

変化する

 private static boolean validateInput() { 

  private static boolean validateInput(String[] args) {

mainそしてそれを次のように呼びます

     boolean result = validateInput(args);
于 2012-10-17T03:08:09.897 に答える