0

引数の受け渡しを理解しようとしていますが、問題が発生しました。

次のコードがあるとしましょう。

値60をメソッドsomeMethodに渡します。そこから、ユーザー入力でその値を変更したいと思います。変更したら、その値をgetValueという別のメソッドに渡します。次に、getValueメソッドはその値を返します。

ここに問題があります:

1)someMethodを呼び出すと、不要なユーザー入力も再度呼び出されます。

2)getValueメソッドの値を次のように出力する正しい方法は何ですか。

New.getValue(intreturnedValue); エラーを「予期しないタイプ、必要な値、見つかったクラス」と呼びます

public class New {

    Scanner sc = new Scanner(System.in)

private int static num1 = 60;
someMethod(num1);

    public static int someMethod(int myValue)
    {
        //modify the integer
        System.out.println("Enter in the value to modify");
        myValue = sc.nextInt();
        //output the value to a getter method
        getValue(myValue);
        return myValue;
    }

    public static int getValue(int returnedValue)
    {
        return returnedValue;
    }

}

いつものように、説明が必要な場合は、質問してください。ありがとう。

4

2 に答える 2

5

someMethod(num1);mainメソッドまたは他のメソッド内にラップする必要があります。

sc2番目:変数が定義されていません。したがって、コードはそこでも失敗します。

3 番目: の型を定義していませんnum1。そのはずprivate static int num1 - 60;

メソッドを呼び出すときに、定義の代わりに実際の値を渡す必要がありますgetValue()

例:System.out.println(getValue(50));

于 2012-10-12T18:12:10.527 に答える
0

これを試してみてください...

改造パーツも追加しました。...

public class New {

private static int num1;


    public static int someMethod()
    {

        System.out.println("Enter in the value to modify");

        Scanner s = new Scanner(System.in);

        int temp = s.nextInt();

        return getValue(num1+temp); // Modification Done
    }

    public static int getValue(int returnedValue)
    {
        return returnedValue;
    }

    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);

        New.num1 = scan.nextInt();
        int i = someMethod();
        System.out.println(i);



    }

}
于 2012-10-12T18:20:31.730 に答える