0

メソッド用にJavaのクラスがあります。基本的に、このクラスは整数の配列を受け取り、数値を加算および減算し、合計と減算を返します。先頭で変数を宣言しました (特定のメソッドではありません)。減算と加算が完了すると、それらはそれぞれの変数に割り当てられます (もちろん自動的に)。しかし、メソッドがその仕事を終えると、値は削除されるので、減算/加算のメソッドを呼び出すと結果が返されます。は 0 です。

私の知る限り、値はメソッド内ではなくすべてのメソッドの外で初期化されるため、値を空にすることはできません。したがって、スコープは終了してはいけません。何か助けてください。

//メソッドのクラス

    package chap3;

    import javax.swing.JOptionPane;

    /**
    *
    * @author jtech
    */
    public class SimpleArithmeticMethods
    {
   int sum;
   int subtraction;

public void sum_Difference(int[] nums)
{        
    int[] inpNums = nums; 

    sum = inpNums[0] + inpNums[1];
    subtraction = inpNums[1] - inpNums[0]; 

}

public void getSum()
{
     JOptionPane.showMessageDialog(null,"The sum is: "+sum, "Result.", JOptionPane.INFORMATION_MESSAGE);
}

public void getDifference()
{
    JOptionPane.showMessageDialog(null,"The difference is: "+subtraction, "Result.", JOptionPane.INFORMATION_MESSAGE);
}

}    

私が走っているクラス

 package chap3;

 import javax.swing.JOptionPane;

 /**
  *
 * @author jtech
 */
public class SimpleArithmetic 
{

  public static void main(String[] args)
  {
    String[] strInptNums = new String[2];
    int[] inptNums = new int[2];         

    SimpleArithmeticMethods obtainSum = new SimpleArithmeticMethods();
    SimpleArithmeticMethods obtainDifference = new SimpleArithmeticMethods();
    SimpleArithmeticMethods workSum_Difference = new SimpleArithmeticMethods();

    for (int counter = 0; counter <= 1; counter++)
    {
        strInptNums[counter] = JOptionPane.showInputDialog(null, "Input a number, smallest first", "Input Data.", JOptionPane.QUESTION_MESSAGE);
        inptNums[counter] = Integer.parseInt(strInptNums[counter]);
    }        

    workSum_Difference.sum_Difference(inptNums);
    obtainSum.getDifference(); 
    obtainDifference.getDifference();
  }
}
4

1 に答える 1

1

1 つのオブジェクトでメソッドを呼び出し、sum_Difference()別のオブジェクトを使用して結果を表示します。

これは、メッセージをボトルに保存し、そのメッセージが別のボトルにあるかどうかを調べるようなものです。同じオブジェクトを使用して、3 つのメソッドすべてを呼び出します。

于 2012-11-19T20:56:28.290 に答える