package com.company;
import java.util.*;
import java.lang.*;
public class Main {
public static void main (String[] args) {
System.out.println("Enter Any one number from following list to carry out Equation ");
System.out.println("1.Add ");
System.out.println("2.Subtract ");
System.out.println("3.Divide ");
System.out.println("4.Multiply ");
Scanner in=new Scanner(System.in);
int read=in.nextInt();
System.out.println("Enter 2 number for Equation ");
double a=in.nextDouble();
double b=in.nextDouble();
double r;
switch (read) {
case 1 -> r = a + b;
case 2 -> r = a - b;
case 3 -> r = a / b;
case 4 -> r = a * b;
default -> {
System.out.println("Error! Select from 1 to 4 ");
return;
}
}
System.out.println("Result of Equation is: "+r);
}
}
如果我选择任何大于4的数字,switch case不退出,并要求用户输入2个数字,输入数字后switch case退出。
如果你期望跳过输入,那么你的执行顺序是错误的。a
和 b
试着添加一个条件if块
double a;
double b;
if( 0 < r && r < 5) {
a = in.nextDouble();
b = in.nextDouble();
}
在用户输入之前启动int read = 5。用一个while循环和条件(read>4)包围扫描仪的部分。