用switch函数编写简单运算(输入时要注意格式!!!)
package method;
import java.util.Scanner;
//用swtich实现简单的加减乘除
public class Demo08 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入一个表达式(例如: 5 + 3):");
int a=scanner.nextInt();
char ch=scanner.next().charAt(0);
int b=scanner.nextInt();
switch (ch){
case'+':
add(a,b);
break;
case '-':
subtract(a,b);
break;
case'*':
multiply(a,b);
break;
case'/':
divide(a,b);
break;
default:
System.out.println("输入有误!请重新输入!");
break;
}
}
private static void add(int a,int b){
int sum=a+b;
System.out.println("Sum="+sum);
}
private static void subtract(int a,int b){
int sum=a-b;
System.out.println("差为:"+sum);
}
private static void multiply(int a,int b){
int sum=a*b;
System.out.println("乘积为:"+sum);
}
private static void divide(int a,int b) {
if (b == 0) {
System.out.println("除数不能为0,请重新输入!");
} else {
int sum = a / b;
System.out.println("商为:" + sum);
}
}
}
如果直接输入5+3,会出现以下错误:
这里我还纠结了一会,改了几次类型都没用,后面发现时是输入的格式有误
输入的5+3被认为是一个字符串了,而我们输入的类型中没有定义过这样的字符串,所以编译时会出现这种错误
所以只需要输入一个数据加一个空格表示分开就可以了,具体如图: