使用scanner类、switch语句、do…while循环、if…else语句完成了可以简单计算的功能
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Calculator calculator = new Calculator();
Scanner scanner = new Scanner(System.in);
double num1 = 0;
double num2 = 0;
String operator = null;
String exit = null;
do {
System.out.println("退出请输入任意非数字文本!");
System.out.print("请输入操作数1:");
if (scanner.hasNextDouble()){
num1 = scanner.nextDouble();
System.out.print("请输入运算符:");
operator = scanner.next();
System.out.print("请输入操作数2:");
num2 = scanner.nextDouble();
System.out.print("计算结果为:");
}else{
exit = "exit";
}
if (operator != null){
switch(operator){
case "+":
System.out.println(calculator.add(num1, num2));
operator = null;
break;
case "-":
System.out.println(calculator.sub(num1, num2));
operator = null;
break;
case "*":
System.out.println(calculator.mul(num1, num2));
operator = null;
break;
case "/":
if (num2 == 0){
System.out.println("错误!除数不为零");
}else{
System.out.println(calculator.div(num1, num2));
}
operator = null;
break;
default:
System.out.println("操作失误!");
break;
}
}else{
System.out.println("输入有误!");
}
}while(exit != "exit");
scanner.close();
System.out.println("计算结束!");
}
//加法
public double add(double num1,double num2){
return num1+num2;
}
//减法
public double sub(double num1,double num2){
return num1-num2;
}
//乘法
public double mul(double num1,double num2){
return num1*num2;
}
//除法
public double div(double num1,double num2){
return num1/num2;
}
}