简易的计算器,实现两个数的加减乘除。
- 写出四个方法:加减乘除
- 利用循环+switch进行用户交互
- 传递需要操作的两个数
- 输出运行结果
/*
1.写出四个方法:加减乘除
2.利用循环+switch进行用户交互
3.传递需要操作的两个数
4.输出运行结果
*/
public static void main(String[] args) {
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入需要求解的式子:");
double a = scanner.nextDouble();
String c = scanner.next();
double b = scanner.nextDouble();
System.out.print("式子的结果为: ");
switch (c) {
case "+":
System.out.println(a + "+" + b + "=" + add(a, b));
break;
case "-":
System.out.println(a + "-" + b + "=" + sub(a, b));
break;
case "*":
System.out.println(a + "*" + b + "=" + multiply(a, b));
break;
case "/":
System.out.println(a + "/" + b + "=" + divide(a, b));
break;
}
System.out.println("");
// scanner.close(); //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
}
}
public static double add(double a, double b) {
return a + b;
}
public static double sub(double a, double b) {
return a - b;
}
public static double multiply(double a, double b) {
return a * b;
}
public static double divide(double a, double b) {
return a / b;
}
idea中调整代码整齐:ctrl+alt+L
运行结果
请输入需要求解的式子:
1 / 0
式子的结果为: 1.0/0.0=Infinity
请输入需要求解的式子:
1 - 2
式子的结果为: 1.0-2.0=-1.0
请输入需要求解的式子:
但是出现了一个问题,就是scanner.close()使用会报错,凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉。经过从csdn中看了别人的方法,把scanner.close()注释掉就可以了,但是还是有点不清楚。
还有的人说要在全局中声明一个静态的Scanner对象,在最后一处需使用Scanner的地方用scanner.close()函数关闭它,但是这种方法我还有点不清楚,等后期把public private static等学清楚了再来解决。