package cm.edu.szpt.po;
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入第一个数字:");
double numA = sc.nextDouble();
System.out.println("输入第二个数字:");
double numB = sc.nextDouble();
System.out.println("请输入要进行的运算法则(+-*/):");
String algorithm = sc.nextLine();
switch (algorithm) {
case "+" -> {
Add add = new Add(numA, numB);
System.out.println(add.operate());
}
case "-" -> {
Sub sub = new Sub(numA, numB);
System.out.println(sub.operate());
}
case "*" -> {
Mul mul = new Mul(numA, numB);
System.out.println(mul.operate());
}
case "/" -> {
Div div = new Div(numA, numB);
System.out.println(div.operate());
}
}
}
}
我觉得你应该把 nextLine() 改成 next() 试一下,
另外, 加个default, default里面打印下 algorithm, 看看输入的到底是什么, 仔细看看algorithm左右两边有没有空字符
default -> System.out.println("-" + algorithm + "-");
switch case 语句语法格式如下:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
你按照这个格式改一下你的代码运行一下