小节1:项目结构与基础设置
在开始项目之前,我们首先需要定义项目的基本结构。一个标准的Java项目通常包括以下几个目录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| src |-- main | |-- java | | `-- com | | `-- example | | `-- app | | `-- Main.java | `-- resources |-- test |-- java `-- com `-- example `-- app `-- MainTest.java
|
1.1 创建项目
使用 Maven
创建项目骨架:
1
| mvn archetype:generate -DgroupId=com.example.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
|
在 src/main/java/com/example/app
目录下,我们创建 Main.java
文件,作为项目的入口。
1.2 编写 Main
类
1 2 3 4 5 6 7
| package com.example.app;
public class Main { public static void main(String[] args) { System.out.println("欢迎来到Java实战项目!"); } }
|
小节2:核心功能模块设计
我们将实现一个简单的命令行计算器。此模块的成功实现将会是整个项目的核心。
2.1 模块划分
2.2 创建计算器类
在 src/main/java/com/example/app
下创建 Calculator.java
文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| package com.example.app;
import java.util.Scanner;
public class Calculator { public void start() { Scanner scanner = new Scanner(System.in); System.out.println("请输入计算表达式,例如:3 + 4");
while (true) { String input = scanner.nextLine(); if ("exit".equalsIgnoreCase(input)) { System.out.println("退出计算器"); break; } try { double result = evaluate(input); System.out.println("结果:" + result); } catch (Exception e) { System.out.println("错误的表达式,请重新输入"); } } }
private double evaluate(String expression) { String[] tokens = expression.split(" "); double num1 = Double.parseDouble(tokens[0]); String operator = tokens[1]; double num2 = Double.parseDouble(tokens[2]);
switch (operator) { case "+": return num1 + num2; case "-": return num1 - num2; case "*": return num1 * num2; case "/": return num1 / num2; default: throw new IllegalArgumentException("不支持的操作符: " + operator); } } }
|
2.3 更新 Main
类
在 Main.java
中实例化 Calculator
类并启动计算器。
1 2 3 4 5 6 7 8 9
| package com.example.app;
public class Main { public static void main(String[] args) { System.out.println("欢迎来到Java实战项目!"); Calculator calculator = new Calculator(); calculator.start(); } }
|
小节3:单元测试
为了确保程序的正确性,我们将为计算器模块编写单元测试。在 src/test/java/com/example/app
下创建 CalculatorTest.java
。
3.1 编写测试用例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package com.example.app;
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
private final Calculator calculator = new Calculator();
@Test void testAddition() { assertEquals(7, calculator.evaluate("3 + 4")); }
@Test void testSubtraction() { assertEquals(1, calculator.evaluate("4 - 3")); }
}
|
小节4:项目编译与运行
使用以下命令编译和运行项目:
1 2 3 4 5
| mvn clean compile
mvn exec:java -Dexec.mainClass="com.example.app.Main"
|
您现在应该能够输入简单的数学表达式,比如 3 + 4
,并获得结果 7
,若输入 exit
则程序会退出。
结尾
通过以上步骤,我们实现了一个简单的命令行计算器,涵盖了项目结构的设计、核心功能的实现以及单元测试的编写,掌握了基本的Java
开发流程。在后续的学习中,可以进一步扩展此项目,加入更多的功能和优化。