39 Java进阶到上手实战教程

39 Java进阶到上手实战教程

小节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开发流程。在后续的学习中,可以进一步扩展此项目,加入更多的功能和优化。

39 Java进阶到上手实战教程

https://zglg.work/java-one/39/

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议