简单计算器实现代码如下:
有个疑问:如何使一次计算完成后不退出,从而执行多次计算呢?我使用while(true),还是只能运算一次。
package com.zhang.calculate;
import java.util.Scanner;
import static javafx.application.Platform.exit;
public class Calculate {
public static void main(String[] args) {
// System.out.println("操作符输入数字 0 ,可退出计算器");
// boolean boo = true;
// while (boo){
double result = 0;
System.out.println("请输入第一个操作数:");
Scanner sca = new Scanner(System.in);
double a = sca.nextFloat();
Scanner scc = new Scanner(System.in);
System.out.println("操作符选择: + - * /");
String cal = scc.next();
System.out.println("请输入第二个操作数:");
Scanner scb = new Scanner(System.in);
double b = scb.nextFloat();
switch (cal){
case "+":
result = addInfo(a,b);
cal = "+";
break;
case "-":
result = subInfo(a,b);
cal = "-";
break;
case "*":
result = multInfo(a,b);
cal = "*";
break;
case "/":
result = divInfo(a,b);
cal = "÷";
break;
case "0":
exit();
default:
System.out.println("操作符非法,请重新开始计算!");
}
System.out.println(a+cal+b+"="+result);
sca.close();
scb.close();
}
// }
public static double addInfo(double a,double b){
double sum;
sum = a+b;
return sum;
}
public static double subInfo(double a,double b){
double sub;
sub = a-b;
return sub;
}
public static double multInfo(double a,double b){
double product;
product = a*b;
return product;
}
public static double divInfo(double a,double b){
double quotient;
quotient = a/b;
return quotient;
}
}
更新一下代码:
package com.zhang.calculate;
import java.util.Scanner;
import static javafx.application.Platform.exit;
public class Calculate {
public static void main(String[] args) {
System.out.println("操作符输入数字 0 ,可退出计算器");
while (true){
double result = 0;
System.out.println("请输入第一个操作数:");
Scanner sca = new Scanner(System.in);
double a = sca.nextFloat();
Scanner scc = new Scanner(System.in);
System.out.println("操作符选择: + - * /");
String cal = scc.next();
System.out.println("请输入第二个操作数:");
Scanner scb = new Scanner(System.in);
double b = scb.nextFloat();
switch (cal){
case "+":
result = addInfo(a,b);
cal = "+";
break;
case "-":
result = subInfo(a,b);
cal = "-";
break;
case "*":
result = multInfo(a,b);
cal = "*";
break;
case "/":
result = divInfo(a,b);
cal = "÷";
break;
case "0":
System.exit(0);
default:
System.out.println("操作符非法,请重新开始计算!");
}
System.out.println(a+cal+b+"="+result);
}
}
public static double addInfo(double a,double b){
double sum;
sum = a+b;
return sum;
}
public static double subInfo(double a,double b){
double sub;
sub = a-b;
return sub;
}
public static double multInfo(double a,double b){
double product;
product = a*b;
return product;
}
public static double divInfo(double a,double b){
double quotient;
quotient = a/b;
return quotient;
}
}