在这段 Java 代码中,我将解析一段简单的 Java 计算器代码,它能够执行基本的数学运算,包括加法、减法、乘法和除法。
一、主要代码
import java.util.Scanner;public class demo101Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.println("请输入第二个数字:");double num2 = scanner.nextDouble();System.out.println("请输入操作符(+、-、*、/):");String op = scanner.next();double result = calc(num1,num2,op);System.out.println(num1+op+num2+"="+result);}public static double calc(double num1, double num2, String op) {double result = 0;switch (op){case "+":result = num1+num2;break;case "-":result = num1-num2;break;case "*":result = num1*num2;break;case "/":result = num1/num2;break;default:System.out.println("无效操作符,请重新输入!");break;}return result;}
}
二、代码解释
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数字:");
double num1 = scanner.nextDouble();
System.out.println("请输入第二个数字:");
double num2 = scanner.nextDouble();
System.out.println("请输入操作符(+、-、*、/):");
String op = scanner.next();
首先,我们创建了一个 Scanner
对象 scanner
,该对象用于从控制台读取用户的输入。接下来,程序依次提示用户输入两个数字和一个操作符:
- 输入第一个数字:使用
scanner.nextDouble()
方法读取用户输入的第一个数字,并将其存储在num1
变量中。 - 输入第二个数字:同样地,读取第二个数字并存储在
num2
变量中。 - 输入操作符:请求用户输入一个操作符(加、减、乘、除),并将输入的字符存储在
op
变量中。
double result = calc(num1, num2, op);
System.out.println(num1 + op + num2 + "=" + result);
接下来,我们调用 calc
方法来执行用户选择的操作,并将结果存储在 result
变量中。最后,程序输出计算结果,格式为 num1 op num2 = result
。
计算逻辑
public static double calc(double num1, double num2, String op) {double result = 0;switch (op) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("无效操作符,请重新输入!");break;}return result;
}
这一部分是计算的核心逻辑。我们定义了一个名为 calc
的方法,接收两个数字和一个操作符作为参数,并根据操作符执行相应的计算。具体实现如下:
- 操作符匹配:通过
switch
语句,我们判断用户输入的操作符op
:- 加法(
+
):计算num1 + num2
。 - 减法(
-
):计算num1 - num2
。 - 乘法(
*
):计算num1 * num2
。 - 除法(
/
):计算num1 / num2
。
- 加法(
- 无效输入处理:如果输入的操作符不在预定义范围内,程序会输出“无效操作符,请重新输入!”的提示。
最后,方法返回计算结果 result
。