简单用Java写了一个计算器程序
下面是对代码的解释:
当然可以,下面是对你提供的jisuanqi
(意为“计算器”的拼音)Java程序的详细解释:
- 导入Scanner类
import java.util.Scanner;
这行代码导入了Java的Scanner
类,该类用于从各种输入源(如控制台)读取数据。
- 定义类
public class jisuanqi {
这里定义了一个名为jisuanqi
的公共类。在Java中,每个可执行的程序都需要至少一个公共类,并且该类中需要有一个main
方法作为程序的入口点。
- main方法
public static void main(String[] args) {
这是Java程序的入口点。当你运行一个Java程序时,JVM会查找main
方法并开始执行。
- 创建Scanner对象
Scanner scanner = new Scanner(System.in);
这行代码创建了一个Scanner
对象,并关联到System.in
(标准输入流,通常是键盘)。之后,你可以使用scanner
对象来读取从控制台输入的数据。
- 读取第一个数字
System.out.print("请输入第一个数字: ");
double num1 = scanner.nextDouble();
首先,程序输出提示信息让用户输入第一个数字。然后,使用scanner.nextDouble()
方法读取用户输入的双精度浮点数,并将其存储在num1
变量中。
- 读取运算符
System.out.print("请输入运算符 (+, -, *, /): ");
String operator = scanner.next();
类似地,程序输出提示信息让用户输入运算符,并读取用户输入的字符串(运算符),将其存储在operator
变量中。
- 读取第二个数字
System.out.print("请输入第二个数字: ");
double num2 = scanner.nextDouble();
再次,程序输出提示信息让用户输入第二个数字,并将其存储在num2
变量中。
- 计算
使用switch
语句根据用户输入的运算符进行不同的计算。
- 对于加法、减法和乘法,直接执行相应的运算。
- 对于除法,首先检查除数(
num2
)是否为零,如果为零,则输出错误消息并退出程序;否则,执行除法运算。
- 输出结果
System.out.printf("%.2f %s %.2f = %.2f%n", num1, operator, num2, result);
使用printf
方法格式化并输出计算结果。这里,%.2f
表示双精度浮点数,保留两位小数;%s
表示字符串;%n
表示换行。
- 退出程序
如果在switch
语句中遇到无效的运算符或除数为零的情况,程序会执行return
语句,从而退出main
方法,结束程序的执行。
总之,这个jisuanqi
类是一个简单的命令行计算器,它允许用户输入两个数字和一个运算符,然后执行相应的数学运算并显示结果。
完整的计算器代码:
import java.util.Scanner;
public class jisuanqi{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数字: ");
double num1 = scanner.nextDouble();
System.out.print("请输入运算符 (+, -, *, /): ");
String operator = scanner.next();
System.out.print("请输入第二个数字: ");
double num2 = scanner.nextDouble();
double result;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("除数不能为0");
return; // 退出程序
}
break;
default:
System.out.println("无效的运算符");
return; // 退出程序
}
System.out.printf("%.2f %s %.2f = %.2f%n", num1, operator, num2, result);
}
}