2017-07-18 17 views
-3

私は基本的な電卓を学習目的のためだけに作っています。ここで は、問題のコードのブロックです:Javaのif文が実行されずに終了する

Scanner Operation = new Scanner(System.in); 
Scanner data = new Scanner(System.in); 
String add, sub, mul, div; 
double fnum, snum, answer; 

add = Operation.nextLine(); 
System.out.println(add); 

if (Operation.equals("add")) { 
    System.out.println("Enter the first number: "); 
    fnum = data.nextDouble(); 
    System.out.println("Enter second number: "); 
    snum = data.nextDouble(); 
    answer = fnum + snum; 
    System.out.println("Your answer is " + answer); 
} 

プログラムは、2つの入力を要求し、if文を実行せずに終了します。

ご協力いただければ幸いです。

+2

より良い変数名を使用してください。間違いは自明です。 – shmosel

+1

なぜ2つのScannerインスタンスを使用していますか? @Rishabh Maurya。 –

+0

それを指摘していただきありがとうございます。私はただそれを修正した。 –

答えて

6

OperationScannerです。addは、Stringです。

この

if (Operation.equals("add")) { 

if (add.equals("add")) { 

でなければなりません。しかし、正直なところ、あなたはより意味のある変数名を選択する必要があります。

+0

問題が修正されました。ありがとうございます。今私はこのプログラムに別の操作を追加しようとしています。コードは私が投稿した追加コードと非常によく似ています。コードは正解を終えることができますが、私は "操作"を2回入力する必要があり、エラーが出ます。 –

+0

エラーは解決されましたが、複数回入力する必要があります。 –

関連する問題