2016-12-30 42 views
-2

我是新來的java和編程。
有人可以建議什麼可以使用,以便答案必須等於+,-,*,/ ?目前我正在嘗試創建一個if語句,但我得到一個錯誤,我不知道爲什麼。有人可以看我的代碼,並幫助我完成if語句嗎?如果您對可以改進的內容有任何其他建議,請分享。簡單的計算器 - 如果發言

import java.util.Scanner; 

public class Calculator { 
public static void main (String Args []) { 
    Scanner input = new Scanner(System.in); 
    double firstNumber, secondNumber; 
    String equationOperator; 

    System.out.println("Please give your first number: \t"); 
    firstNumber = input.nextDouble(); 
    System.out.println("Please give your second number: \t"); 
    secondNumber = input.nextDouble(); 
    System.out.println("Which equation would you like to perform?"); 
    System.out.println("Please enter one of the following + -/* \t"); 
    equationOperator = input.next(); 

    switch (equationOperator) { 
    case "+": 
     System.out.println("Your chosen equation is: Adding"); 
     System.out.println("Your answer is: " + (firstNumber + secondNumber)); 
     break; 
    case "-": 
     System.out.println("Your chosen equation is: Subtracting"); 
     System.out.println("Your answer is: " + (firstNumber - secondNumber)); 
     break; 
    case "/": 
     System.out.println("Your chosen equation is: Dividing"); 
     System.out.println("Your answer is: " + (firstNumber/secondNumber)); 
     break; 
    case "*": 
     System.out.println("You chosen equation is: Multiplying"); 
     System.out.println("Your answer is: " + (firstNumber * secondNumber)); 
     break;     
    } 
    if (!equationOperator.equals("+ || - ||/|| *") { 
     System.out.println("Please choose one of the following:"); 
     System.out.println("+" 
       + "-" 
       + "/" 
       + "*"); 
       } 
    System.out.println("\t Thank You for using my Calculator"); 

     } 


} 
+1

嘗試System.out.println(equationOperator);調試 – sanjeev

+1

「+ || - ||/|| *」'只是一個帶有這些字母的字符串。它不會奇蹟般地認爲這是代碼。 –

回答

1

在開關

default: 
       System.out.println("Please choose one of the following:"); 
     System.out.println("+" 
       + "-" 
       + "/" 
       + "*"); 
       } 

而且你的if語句是不正確距)支架從最終缺少使用默認情況下。如果(!equationOperator.equals(「+ || - ||/|| *」))這比較你的equationOperator和字符串「+ || - ||/|| *」。

你想要這個

IF((equationOperator.equals( 「+」)|| equationOperator.equals(! 「 - 」)|| equationOperator.equals( 「/」)|| equationOperator。等於( 「*」))){

4

你缺少你的病情右括號:

if (!equationOperator.equals("+ || - ||/|| *") { 

應該

if (!equationOperator.equals("+ || - ||/|| *")) { 

注意,這不會給你預期的結果要麼,你正在檢查的確切字符串「+ || - ||/|| *」。

你可能需要幾個equals

if (!equationOperator.equals("+") && !equationOperator.equals("-") ...) { 

或簡單地使用default情況下,您switch聲明:

switch (equationOperator) { 
    case "+": 
     System.out.println("Your chosen equation is: Adding"); 
     System.out.println("Your answer is: " + (firstNumber + secondNumber)); 
     break; 
    case "-": 
     System.out.println("Your chosen equation is: Subtracting"); 
     System.out.println("Your answer is: " + (firstNumber - secondNumber)); 
     break; 
    case "/": 
     System.out.println("Your chosen equation is: Dividing"); 
     System.out.println("Your answer is: " + (firstNumber/secondNumber)); 
     break; 
    case "*": 
     System.out.println("You chosen equation is: Multiplying"); 
     System.out.println("Your answer is: " + (firstNumber * secondNumber)); 
     break; 
    default: 
     System.out.println("Please choose one of the following:"); 
     System.out.println("+" 
      + "-" 
      + "/" 
      + "*");   
} 

default情況下將被執行的時候沒有其他的比賽。有關更多詳細信息,請參見the documentation