62,612
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean flag = true;
String str = null;
int num1, num2;
long sum;
while(flag) {
System.out.println("请输入一位数表达式...");
str = input.nextLine();
//如果输入是$,则退出循环
if(str.trim().equals("$")) {
flag = false;
return;
}
//分割出两个操作数,可以是多位,但是必须符合1*3这种形式
String[] temp = str.split("\\D");
//得到操作符
String operator = str.replaceAll("\\d", "");
//如果操作数少于两个,就提示错误,并返回
if(temp.length != 2) {
System.out.println("请输入符合要求的表达式!");
return;
}
//执行运算,得打结果
num1 = Integer.parseInt(temp[0]);
num2 = Integer.parseInt(temp[1]);
if(operator.equals("+")) {
sum = num1 + num2;
} else if(operator.equals("-")) {
sum = num1 - num2;
} else if(operator.equals("*")) {
sum = num1 * num2;
} else if(operator.equals("/")) {
if(num2 == 0) {
System.out.println("除数不能为0");
return;
}
sum = num1 / num2;
} else if(operator.equals("%")) {
if(num2 == 0) {
System.out.println("模数不能为0");
return;
}
sum = num1 % num2;
} else {
System.out.println("你输入的操作符有误,请重新输入表达式!");
return;
}
System.out.println(str + "=" + sum);
}
}
}