2

私はJavaを学んでいて、同じクラスのメインメソッド内の非静的メソッドにアクセスする方法(ある場合)を見つけるのに役立つ簡単なプログラムを作成しようとしていました。これは私がこれまでに持っているものです

import java.util.Scanner;

public class MethodVariables

{

    public int num1;
    public int num2;
    public int add = (num1 + num2);
    public int sub = (num1 - num2);

    public static void main(String[] args)
    {
        Scanner input = new Scanner (System.in);

        System.out.println("Please enter the first number: ");
        String num1 = input.nextLine();
        System.out.println("Please enter the second number: ");
        String num2 = input.nextLine();
        input.close();

        // I know these wouldn't work this way but this is just to show what I am trying to accomplish
        addition(add);    
        subtraction(sub);
    }

    public void addition(int add)
    {
        System.out.println("The sum of the two is: " +add);
    }

    public void subtraction(int sub)
    {
        System.out.println("The diference of the two is: "+sub);
    }
}

私が見落としていることを誰かが知っていれば、助けていただければ幸いです。

4

2 に答える 2

2

もちろん、クラスのインスタンスを作成するだけですmain:

MethodVariables instance = new MethodVariables();

instance.addition(num1);
instance.subtraction(num2);

additionsubtractionインスタンス メソッドであるため、それらを呼び出すクラスのインスタンスが常に必要になります。

于 2012-09-18T15:55:08.990 に答える
0

これは元の質問とは関係ありませんが、指摘する価値があります。

public int add = (num1 + num2);

これは期待どおりには機能しません。2 つの数値を加算する関数が必要な場合は、2 つの数値を加算する関数を作成します。

public int add(int num1, int num2) {
    return num1 + num2;
}

public int subtract(int num1, int num2) {
    return num1 - num2;
}
于 2012-09-18T16:06:27.383 に答える