App 2 weeks ago
parent
commit
52fbc958b3
  1. BIN
      project/target/classes/com/movieratings/DataInitializer.class
  2. BIN
      project/target/classes/com/movieratings/Main.class
  3. BIN
      project/target/classes/com/movieratings/MovieRatingsApplication.class
  4. BIN
      project/target/classes/com/movieratings/analysis/DataAnalyzer$CorrelationResult.class
  5. BIN
      project/target/classes/com/movieratings/analysis/DataAnalyzer$DirectorStats.class
  6. BIN
      project/target/classes/com/movieratings/analysis/DataAnalyzer.class
  7. BIN
      project/target/classes/com/movieratings/controller/DirectorController.class
  8. BIN
      project/target/classes/com/movieratings/crawler/MovieCrawler.class
  9. BIN
      project/target/classes/com/movieratings/display/ResultDisplay.class
  10. BIN
      project/target/classes/com/movieratings/model/DirectorStats.class
  11. BIN
      project/target/classes/com/movieratings/model/Movie.class
  12. BIN
      project/target/classes/com/movieratings/repository/MovieRepository.class
  13. BIN
      project/target/classes/com/movieratings/service/MovieService.class
  14. 22
      project/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  15. 2
      project/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  16. 20
      project/target/surefire-reports/TEST-com.movieratings.analysis.DataAnalyzerTest.xml
  17. 2
      project/target/surefire-reports/com.movieratings.analysis.DataAnalyzerTest.txt
  18. BIN
      project/target/test-classes/com/movieratings/analysis/DataAnalyzerTest.class
  19. 2
      w1/TemperatureConverter.java
  20. 2
      w3/Car.java
  21. 2
      w3/CarRunner.java
  22. 2
      w4/AI.txt
  23. BIN
      w4/Circle.class
  24. 12
      w4/Circle.java
  25. BIN
      w4/Main.class
  26. 11
      w4/Main.java
  27. BIN
      w4/QQ20260326-202006.png
  28. 144
      w4/README.md
  29. BIN
      w4/Rectangle.class
  30. 14
      w4/Rectangle.java
  31. BIN
      w4/ShapeUtil.class
  32. 6
      w4/ShapeUtil.java
  33. BIN
      w4/Triangle.class
  34. 14
      w4/Triangle.java
  35. BIN
      w4/class_diagram_matplotlib.png
  36. BIN
      w4/shape.class
  37. 3
      w4/shape.java

BIN
project/target/classes/com/movieratings/DataInitializer.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/Main.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/MovieRatingsApplication.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/analysis/DataAnalyzer$CorrelationResult.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/analysis/DataAnalyzer$DirectorStats.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/analysis/DataAnalyzer.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/controller/DirectorController.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/crawler/MovieCrawler.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/display/ResultDisplay.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/model/DirectorStats.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/model/Movie.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/repository/MovieRepository.class

Binary file not shown.

BIN
project/target/classes/com/movieratings/service/MovieService.class

Binary file not shown.

22
project/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@ -1,11 +1,11 @@
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\display\ResultDisplay.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\analysis\DataAnalyzer.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\Main.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\controller\DirectorController.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\DataInitializer.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\repository\MovieRepository.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\model\Movie.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\crawler\MovieCrawler.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\MovieRatingsApplication.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\model\DirectorStats.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\main\java\com\movieratings\service\MovieService.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\display\ResultDisplay.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\model\DirectorStats.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\MovieRatingsApplication.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\DataInitializer.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\controller\DirectorController.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\service\MovieService.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\Main.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\model\Movie.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\repository\MovieRepository.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\crawler\MovieCrawler.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\main\java\com\movieratings\analysis\DataAnalyzer.java

2
project/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@ -1 +1 @@
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\project\src\test\java\com\movieratings\analysis\DataAnalyzerTest.java
D:\VisualStudioProgram\VSCodePrograms\JavaLearningProject\java\project\src\test\java\com\movieratings\analysis\DataAnalyzerTest.java

20
project/target/surefire-reports/TEST-com.movieratings.analysis.DataAnalyzerTest.xml

File diff suppressed because one or more lines are too long

2
project/target/surefire-reports/com.movieratings.analysis.DataAnalyzerTest.txt

@ -1,4 +1,4 @@
-------------------------------------------------------------------------------
Test set: com.movieratings.analysis.DataAnalyzerTest
-------------------------------------------------------------------------------
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.07 s - in com.movieratings.analysis.DataAnalyzerTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.054 s - in com.movieratings.analysis.DataAnalyzerTest

BIN
project/target/test-classes/com/movieratings/analysis/DataAnalyzerTest.class

Binary file not shown.

2
w1/TemperatureConverter.java

@ -7,7 +7,7 @@ import java.io.FileNotFoundException;
* 支持摄氏度(C)与华氏度(F)之间互转
* 增强版本支持命令行参数和文件批量转换
*/
public class TemperatureConverter_PytoJava {
public class TemperatureConverter {
/**
* 将摄氏度转换为华氏度

2
w3/Car.java

@ -1,4 +1,4 @@
package JavaLearningProject.w3;
package JavaLearningProject.java.w3;
public class Car {
private String licensePlate;

2
w3/CarRunner.java

@ -1,4 +1,4 @@
package JavaLearningProject.w3;
package JavaLearningProject.java.w3;
public class CarRunner {
public static void main(String[] args) {

2
w4/AI.txt

@ -0,0 +1,2 @@
Prompt:帮助我正确运行Main.java,完成之后写一份修复流程和报错原因的readme
帮我用python绘制w4的类图

BIN
w4/Circle.class

Binary file not shown.

12
w4/Circle.java

@ -0,0 +1,12 @@
public class Circle extends shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
double area = Math.PI * radius * radius;
return area;
}
}

BIN
w4/Main.class

Binary file not shown.

11
w4/Main.java

@ -0,0 +1,11 @@
public class Main {
public static void main(String[] args) {
shape c = new Circle(2);
shape r = new Rectangle(3, 4);
shape t = new Triangle(10, 5);
ShapeUtil.printArea(c);
ShapeUtil.printArea(r);
ShapeUtil.printArea(t);
}
}

BIN
w4/QQ20260326-202006.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

144
w4/README.md

@ -0,0 +1,144 @@
# Lab 项目启动故障诊断与修复技术报告
项目路径:`D:\VisualStudioProgram\VSCodePrograms\JavaProjects\Lab`
运行环境:Windows + PowerShell 5 + JDK 25.0.2
## 目标与验收标准
- 诊断并修复导致项目无法编译/运行的全部错误
- 确保在 `Lab` 目录下可以“一次性”完成编译并启动
- 验证既有图形面积计算与打印功能可正常工作,并保留日志证据
## 过程记录(按时间顺序)
### 1)首次复现:编译失败(类名与文件名不一致)
#### 报错原始输出(完整)
执行命令(在 `D:\VisualStudioProgram\VSCodePrograms\JavaProjects` 目录下):
```text
javac -encoding UTF-8 Lab\*.java
```
编译器输出:
```text
Lab\Main.java:3: 错误: 类 main 是公共的, 应在名为 main.java 的文件中声明
public class main {
^
1 个错误
```
#### 根本原因分析
- `Main.java` 文件内声明的是 `public class main`(类名为小写 `main`)。
- Java 规则:`public` 顶级类名必须与文件名完全一致(区分大小写)。因此 `Main.java` 只能声明 `public class Main`
#### 修复步骤
- 将 `Main.java` 中的 `public class main` 更正为 `public class Main`
#### 验证方式与结果
- 重新执行 `javac` 编译,返回码为 `0`(编译通过)。
---
### 2)启动方式问题:包声明与目录作为“项目根”不匹配(导致直接在 Lab 目录下不便运行)
#### 现象说明
源码最初包含 `package Lab;`。当用户将 `Lab` 目录直接作为工作目录(也就是把 `Lab` 当作 classpath 根)时:
- `package Lab;` 期望类文件位于 `...\Lab\Lab\` 下(相对 classpath 根多一层 `Lab` 目录)。
- 但实际源码文件就位于 `...\Lab\`,导致“在 Lab 目录直接编译/运行”的体验与包结构冲突。
#### 根本原因分析
- “包名/目录层级/运行时 classpath 根”三者不一致。
- 本项目为单文件夹小练习,更符合“默认包 + 在 Lab 目录直接 javac/java”的使用方式。
#### 修复步骤
- 从以下源码文件中移除 `package Lab;` 声明,使其落在默认包:
- `Main.java`
- `shape.java`
- `Circle.java`
- `Rectangle.java`
- `Triangle.java`
- `ShapeUtil.java`
- 调整 `Main.java` 以调用现有功能(创建图形并打印面积),用于功能验证。
#### 验证方式与结果
`D:\VisualStudioProgram\VSCodePrograms\JavaProjects\Lab` 目录下执行:
```text
javac -encoding UTF-8 *.java
java Main
```
程序成功启动并输出面积信息(见“最终成功证据”)。
---
### 3)验证阶段二次报错:PowerShell 5 不支持 `&&` 作为语句分隔符
#### 报错原始输出(完整)
执行命令(在 `Lab` 目录下):
```text
javac -encoding UTF-8 *.java && java Main
```
PowerShell 输出:
```text
所在位置 行:1 字符: 30
+ javac -encoding UTF-8 *.java && java Main ; exit $LASTEXITCODE
+ ~~
标记“&&”不是此版本中的有效语句分隔符。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvalidEndOfLine
```
#### 根本原因分析
- Windows PowerShell 5 不支持 `&&` 作为命令连接符(该特性在 PowerShell 7 才提供)。
#### 修复步骤
- 将“编译成功才运行”的命令改为 PowerShell 5 兼容写法:
```text
javac -encoding UTF-8 *.java; if ($LASTEXITCODE -eq 0) { java Main }
```
#### 验证方式与结果
- 以上命令在 PowerShell 5 下成功执行并得到正确输出(见“最终成功证据”)。
## 最终成功证据(日志)
JDK 版本:
```text
javac 25.0.2
```
`Lab` 目录下编译并启动:
```text
javac -encoding UTF-8 *.java; if ($LASTEXITCODE -eq 0) { java Main }
The area of the shape is: 12.566370614359172
The area of the shape is: 12.0
The area of the shape is: 25.0
```
## 预防同类问题的改进建议
- 规范类/文件命名:任何 `public class X` 必须位于 `X.java` 中,并保持大小写一致。
- 明确“项目根”概念:若使用 `package`,应保证源码目录层级与包名一致;否则采用默认包并在同一目录下编译运行。
- 统一运行脚本:在 Windows 环境建议提供 PowerShell 5 兼容命令,或明确要求 PowerShell 7+ 才能使用 `&&`

BIN
w4/Rectangle.class

Binary file not shown.

14
w4/Rectangle.java

@ -0,0 +1,14 @@
public class Rectangle extends shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
public double getArea() {
double area = length * width;
return area;
}
}

BIN
w4/ShapeUtil.class

Binary file not shown.

6
w4/ShapeUtil.java

@ -0,0 +1,6 @@
public class ShapeUtil {
public static void printArea(shape s) {
double area = s.getArea();
System.out.println("The area of the shape is: " + area);
}
}

BIN
w4/Triangle.class

Binary file not shown.

14
w4/Triangle.java

@ -0,0 +1,14 @@
public class Triangle extends shape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
public double getArea() {
double area = 0.5 * base * height;
return area;
}
}

BIN
w4/class_diagram_matplotlib.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
w4/shape.class

Binary file not shown.

3
w4/shape.java

@ -0,0 +1,3 @@
public abstract class shape {
public abstract double getArea();
}
Loading…
Cancel
Save