2016-12-30 4 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.equals ("+") || equationOperator.equals (! "-") || equationOperator.equals ("/") || equationOperator. Equals ("*"))) {

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 для более подробной информации.

Смежные вопросы