2016-08-30 7 views
-2

私は基本的なJava計算機を作る必要がある宿題があります。問題は三項演算子を使う必要があることです。私のコードをコンパイルする方法が見つからないので、私はいつもここでエラーが発生します。現在、私は4つのエラーがありますが、これまでに得たことはありませんが、今は動作させる方法を見つけられません。私は考えることができるすべてを試しましたが、それでも動作しません。もしあなたがそれをチェックしてみることができるかどうか私は思っていた。三項演算子を使った電卓での不正な式の開始

class PpalCal 
{ 
    char operacion; 

    public static void main(String arg[]) 
    { 
     Calculadora Cal; 
     Cal=new Calculadora(); 
     Cal.v1=Float.parseFloat(arg[0]); 
     Cal.v2=Float.parseFloat(arg[1]); 
     Cal.op=Character.parseCharacter(arg[2]); 
     { 
      String operacion = (Cal.op = +) ? "suma" : 
      (Cal.op = -) ? "resta" : 
      (Cal.op = *) ? "multiplicacion" : "division"; 
      if (operacion.equals("suma")) 
      { 
       System.out.println("La suma es :"+Cal.sumar()); 
      } 
      else 
      { 
       if (operacion.equals("resta")) 
       { 
        System.out.println("La resta es :"+Cal.restar()); 
       } 
       else 
       { 
        if (operacion.equals("multiplicacion")) 
        { 
         System.out.println("La multiplicacion es :"+Cal.multiplicar()); 
        } 
        else 
        { 
         System.out.println("La division es :"+Cal.dividir()); 
        } 
       } 
      } 
     } 
    } 
} 

私はの閉じ括弧とエラーライン13上の表現の不正スタートがあることを私に言って、14を得る(Cal.op = +)と(Cal.op => - )、および2つのエラーは私に15行目で同じことを伝えていますが、今ではアスタリスク>も同様です(Cal.op = *)。

+2

「Character.parseCharacter」メソッドがありますか? – Henry

答えて

4

平等のテストは、二重==で、文字はその一重引用符で囲む必要があります。

Cal.op == '+' 
+0

申し訳ありませんが、ありがとうございましたが、今度は "シンボルを見つけることができません"というエラーが表示され、11行目の2番目のピリオドがマークされます。Cal.op = Character.parseCharacter(arg [2]); –

+0

'Cal.op = arg [2] .charAt(0)'と書くだけです。 @JorgePietraSanta – Sweeper

+0

'Character.parseCharacter' - このメソッドは見られませんでした。 –

0

条件文(三元声明は)あなたのケースで真または偽condition.Soを識別するための出力としてブール値が必要です

  String operacion = (Cal.op == '+') ? "suma" : (Cal.op == '-') ? "resta":(Cal.op == '*') ? "multiplicacion" : "division"; 
+0

変更を加えました:) –

0

3進演算子は、真または偽の状態を返す条件文が必要です。 したがって、==を使用して、それを一重引用符で囲む文字と比較する必要があります。

Cal.op == '+'