2011-01-12 12 views
0

別のJTextフィールドから2つの入力を計算し、コンボボックスで演算子を選択し、選択した演算子に基づいて結果を計算する必要があります。しかし、私は答えとして0を得る。 0を得ることなく結果をどのように計算できますか?計算機の結果をJavaで取得する

private void jButton1_actionPerformed(ActionEvent e) { 

    int x = Integer.parseInt(jTextField1.getText()); 
    int y = Integer.parseInt(jTextField2.getText()); 

    String Result = "0"; 
    jLabel4.setText(Result); 
    int total = Integer.parseInt(Result); 

    if(Operator.equals("+")) { 
     total = x + y; 
    } 
    else if(Operator.equals("-")) { 
     total = x - y; 
    } 
    else if(Operator.equals("*")) { 
     total = x * y; 
    } 
    else if(Operator.equals("/")) { 
     total = x/y; 

    } 

} 

答えて

3

結果を計算してからjLabel4を更新しないためです。表示する結果の計算を担当する一方及び他方:

if秒後、あなたは二つの部分に方法を分ける必要があり、別のjLabel4.setText(Integer.toString(result));

1

を追加する必要があります。それに加えて、おそらくダブルを使用する必要があります。そうしないと、予期しない結果、つまり0(たとえば1/2の場合)が発生します。

private void jButton1_actionPerformed(ActionEvent e) { 

    int x = Integer.parseInt(jTextField1.getText()); 
    int y = Integer.parseInt(jTextField2.getText()); 

    double result = calculateResult(operator, x, y) 
    jLabel4.setText(String.valueOf(result)); 
} 

private double calculateResult(String operator, int x, int y) { 

    if(operator.equals("+")) { 
     total = x + y; 
    } 
    else if(operator.equals("-")) { 
     total = x - y; 
    } 
    else if(operator.equals("*")) { 
     total = x * y; 
    } 
    else if(operator.equals("/")) { 
     total = x/y; 

    } 
    return total; 
} 
2

このコードから、jLabel4が結果ラベルです。

まず、String Resultに "0"を割り当て、これをテキスト( "0")に設定して計算します。

まず、計算してから結果を設定します。

private void jButton1_actionPerformed(ActionEvent e) { 

    int x = Integer.parseInt(jTextField1.getText()); 
    int y = Integer.parseInt(jTextField2.getText()); 

    int total = 0; 

    if(Operator.equals("+")) { 
     total = x + y; 
    } 
    else if(Operator.equals("-")) { 
     total = x - y; 
    } 
    else if(Operator.equals("*")) { 
     total = x * y; 
    } 
    else if(Operator.equals("/")) { 
     total = x/y; 

    } 

    jLabel4.setText(String.valueOf(total)); 


} 
関連する問題