package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
int operator;
double number1, number2, result;
boolean ask = true;
while (ask) {
System.out.println("please select your operator:\n"
+ "1 for +\n" +
"2 for -\n" +
"3 for *\n" +
"4 for %\n" +
"");
operator = myScanner.nextInt();
System.out.println("you chose " + operator + " operator babe");
System.out.println("please enter your first number");
Scanner numberScanner = new Scanner(System.in);
number1 = numberScanner.nextDouble();
System.out.println("please enter your second number");
Scanner numberScanner2 = new Scanner(System.in);
number2 = numberScanner2.nextDouble();
switch (operator) {
case 1:
result = number1 + number2;
System.out.println("result is:" + result);
break;
case 2:
result = number1 - number2;
System.out.println("result is:" + result);
break;
case 3:
result = number1 * number2;
System.out.println("result is:" + result);
break;
case 4:
result = number1/number2;
System.out.println("result is:" + result);
break;
default:
System.out.println("you chosen the wrong operator babe :)");
break;
}
System.out.println("do yo want to continue?\n" +
"y for yes\n" +
"n for no\n");
char askInput = myScanner.next().charAt(0);
if (askInput=='n') ask=false;
}
}
}
我在開關的情況下
如果我按任意數字或字母財產以後像5或6或...它應該打印you chose wrong operator
了麻煩。邏輯錯誤......在開關的情況下
我覺得問題是在我的默認,但我不知道它在哪裏?
也應該比你居然把'之開關語句中的位置之前,你要輸入號碼一個有效的選項,並在FIRST用戶輸入後,而不是最後。在第一次輸入之後,您應該如何告訴您這是錯誤的輸入,您立即開始讀取兩個數字,並檢查用戶確實選擇了AFTERWARDS的選項。嘗試輸入'5',之後輸入2個數字,然後你會收到你想要的信息。 – SomeJavaGuy
我選擇了例子5後,它繼續並接受5但邏輯它不能接受5並且默認應該運行 – saeb