写一个简易计算器
要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现
解题思路
-
写四个方法:加减乘除
-
利用循环+switch进行用户交互
-
传递需要操作的两个数
遇到的困难
设置的数据类型为double,发现运行小数时运行结果出错,所以调用BigDecimal类,提高精准度
代码
import java.math.BigDecimal; //调用BigDecimal类,提高精准度
import java.util.Scanner; //用Scanner类来获取用户输入
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入数字1:");
while (scanner.hasNext()) { //输入的不是数字时,循环结束。
BigDecimal num1 = scanner.nextBigDecimal();
System.out.println("输入数字2:");
BigDecimal num2 = scanner.nextBigDecimal();
System.out.println("输入运算符:加、减、乘、除");
String c = scanner.next();
switch (c) {
case "加":
System.out.println("结果为" + add(num1, num2));
break;
case "减":
System.out.println("结果为" + subtract(num1, num2));
break;
case "乘":
System.out.println("结果为" + multiply(num1, num2));
break;
case "除":
System.out.println("结果为" + divide(num1, num2));
break;
default:
System.out.println("输入错误");
scanner.close();
}
}
}
//BigDecimal类加法表示
public static BigDecimal add(BigDecimal num1, BigDecimal num2) {
BigDecimal result = num1.add(num2);
return result;
}
//BigDecimal类减法表示
public static BigDecimal subtract(BigDecimal num1, BigDecimal num2) {
BigDecimal result = num1.subtract(num2);
return result;
}
//BigDecimal类乘法表示
public static BigDecimal multiply(BigDecimal num1, BigDecimal num2) {
BigDecimal result = num1.multiply(num2);
return result;
}
//BigDecimal类除法表示
public static BigDecimal divide(BigDecimal num1, BigDecimal num2) {
BigDecimal result = num1.divide(num2);
return result;
}
}