Initial commit
This commit is contained in:
14
Experiment/graph/Exp1/ArithmaticOp.mermaid
Normal file
14
Experiment/graph/Exp1/ArithmaticOp.mermaid
Normal file
@@ -0,0 +1,14 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[计算 a = 5 + 4]
|
||||
B --> C[计算 b = a * 2]
|
||||
C --> D[计算 c = b / 4]
|
||||
D --> E[计算 d = b - c]
|
||||
E --> F[计算 e = -d]
|
||||
F --> G[计算 f = e % 4]
|
||||
G --> H[定义 g = 18.4]
|
||||
H --> I[计算 h = g % 4]
|
||||
I --> J[定义 i = 3]
|
||||
J --> K[计算 j = i++]
|
||||
K --> L[计算 k = ++i]
|
||||
L --> M[输出所有变量的值]
|
||||
M --> N[结束]
|
||||
14
Experiment/graph/Exp1/ArrayRefer.mermaid
Normal file
14
Experiment/graph/Exp1/ArrayRefer.mermaid
Normal file
@@ -0,0 +1,14 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义变量 i]
|
||||
B --> C[创建大小为5的整型数组 arrayA]
|
||||
C --> D[初始化循环 i = 0]
|
||||
D --> E{i < 5?}
|
||||
E -->|是| F["arrayA[i] = i"]
|
||||
F --> G[i++]
|
||||
G --> E
|
||||
E -->|否| H[重置循环 i = 0]
|
||||
H --> I{i < arrayA.length?}
|
||||
I -->|是| J["输出 arrayA[i] 的值"]
|
||||
J --> K[i++]
|
||||
K --> I
|
||||
I -->|否| L[结束]
|
||||
7
Experiment/graph/Exp1/CircleCalc.mermaid
Normal file
7
Experiment/graph/Exp1/CircleCalc.mermaid
Normal file
@@ -0,0 +1,7 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义半径 radius = 3.0]
|
||||
B --> C[计算周长 circumference = 2 * Math.PI * radius]
|
||||
C --> D[计算面积 area = Math.PI * radius * radius]
|
||||
D --> E[输出圆的周长]
|
||||
E --> F[输出圆的面积]
|
||||
F --> G[结束]
|
||||
12
Experiment/graph/Exp1/Max.mermaid
Normal file
12
Experiment/graph/Exp1/Max.mermaid
Normal file
@@ -0,0 +1,12 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义变量 max]
|
||||
B --> C[从命令行参数获取 a, b, c]
|
||||
C --> D{a > b 且 a > c?}
|
||||
D -->|是| E[max = a]
|
||||
D -->|否| F{b > c?}
|
||||
F -->|是| G[max = b]
|
||||
F -->|否| H[max = c]
|
||||
E --> I[输出最大值]
|
||||
G --> I
|
||||
H --> I
|
||||
I --> J[结束]
|
||||
9
Experiment/graph/Exp1/PythagoreanTheorem.mermaid
Normal file
9
Experiment/graph/Exp1/PythagoreanTheorem.mermaid
Normal file
@@ -0,0 +1,9 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[输出提示信息: 请输入直角三角形的两条直角边的长度]
|
||||
B --> C[创建Scanner对象]
|
||||
C --> D[读取第一个数值 a]
|
||||
D --> E[读取第二个数值 b]
|
||||
E --> F[关闭Scanner对象]
|
||||
F --> G["计算斜边长度 $$c = \sqrt{a² + b²}$$"]
|
||||
G --> H[输出斜边长度]
|
||||
H --> I[结束]
|
||||
8
Experiment/graph/Exp1/Say.mermaid
Normal file
8
Experiment/graph/Exp1/Say.mermaid
Normal file
@@ -0,0 +1,8 @@
|
||||
flowchart TD
|
||||
A[开始] --> B{命令行参数数量 < 2?}
|
||||
B -->|是| C[输出错误信息]
|
||||
C --> D[退出程序]
|
||||
B -->|否| E[获取参数 name 和 word]
|
||||
E --> F[输出格式化消息]
|
||||
F --> G[结束]
|
||||
D --> G
|
||||
11
Experiment/graph/Exp1/SimpleTypes.mermaid
Normal file
11
Experiment/graph/Exp1/SimpleTypes.mermaid
Normal file
@@ -0,0 +1,11 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 byte b = 055]
|
||||
B --> C[定义 short s = 0x55FF]
|
||||
C --> D[定义 int i = 1000000]
|
||||
D --> E[定义 long l = 3615L]
|
||||
E --> F[定义 char c = 'c']
|
||||
F --> G[定义 float f = 0.23F]
|
||||
G --> H[定义 double d = 0.7E-3]
|
||||
H --> I[定义 boolean bool = true]
|
||||
I --> J[输出所有变量的值]
|
||||
J --> K[结束]
|
||||
12
Experiment/graph/Exp2/CircularFactorial.mermaid
Normal file
12
Experiment/graph/Exp2/CircularFactorial.mermaid
Normal file
@@ -0,0 +1,12 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 n = 10]
|
||||
B --> C[初始化 result = 1]
|
||||
C --> D{n == 0 或 n == 1?}
|
||||
D -- 是 --> E[result = 1]
|
||||
D -- 否 --> F[循环: i = 2 到 n]
|
||||
F --> G[result *= i]
|
||||
G --> H{i < n?}
|
||||
H -- 是 --> F
|
||||
H -- 否 --> I[输出 n! = result]
|
||||
E --> I
|
||||
I --> J[结束]
|
||||
26
Experiment/graph/Exp2/PrimeNum.mermaid
Normal file
26
Experiment/graph/Exp2/PrimeNum.mermaid
Normal file
@@ -0,0 +1,26 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 start = 100, end = 2000]
|
||||
B --> C[初始化 num_in_line = 0]
|
||||
C --> D["输出 100~2000之间的素数有:"]
|
||||
D --> E[循环: i = start 到 end]
|
||||
E --> F{"isPrime(i)?"}
|
||||
F -- 是 --> G[num_in_line++]
|
||||
G --> H{num_in_line % 5 == 0?}
|
||||
H -- 是 --> I[输出 i 并换行]
|
||||
H -- 否 --> J[输出 i 和空格]
|
||||
I --> K{i < end?}
|
||||
J --> K
|
||||
K -- 是 --> E
|
||||
K -- 否 --> L[结束]
|
||||
F -- 否 --> K
|
||||
|
||||
subgraph isPrime函数
|
||||
M["isPrime(n)"] --> N{n <= 1?}
|
||||
N -- 是 --> O[返回 false]
|
||||
N -- 否 --> P["循环: i = 2 到 sqrt(n)"]
|
||||
P --> Q{n % i == 0?}
|
||||
Q -- 是 --> R[返回 false]
|
||||
Q -- 否 --> S{"i < sqrt(n)?"}
|
||||
S -- 是 --> P
|
||||
S -- 否 --> T[返回 true]
|
||||
end
|
||||
12
Experiment/graph/Exp2/RecursiveFactorial.mermaid
Normal file
12
Experiment/graph/Exp2/RecursiveFactorial.mermaid
Normal file
@@ -0,0 +1,12 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 n = 10]
|
||||
B --> C["调用 factorial(n)"]
|
||||
C --> D[输出 n! = result]
|
||||
D --> E[结束]
|
||||
|
||||
subgraph factorial函数
|
||||
F["factorial(n)"] --> G{n == 0 或 n == 1?}
|
||||
G -- 是 --> H[返回 1]
|
||||
G -- 否 --> I["返回 n * factorial(n-1)"]
|
||||
I -- "递归调用 factorial(n-1)" --> F
|
||||
end
|
||||
16
Experiment/graph/Exp2/SortNum.mermaid
Normal file
16
Experiment/graph/Exp2/SortNum.mermaid
Normal file
@@ -0,0 +1,16 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 a=9, b=5, c=7, t]
|
||||
B --> C{a > b?}
|
||||
C -->|是| D[t=a, a=b, b=t]
|
||||
C -->|否| E[继续]
|
||||
D --> E
|
||||
E --> F{a > c?}
|
||||
F -->|是| G[t=a, a=c, c=t]
|
||||
F -->|否| H[继续]
|
||||
G --> H
|
||||
H --> I{b > c?}
|
||||
I -->|是| J[t=b, b=c, c=t]
|
||||
I -->|否| K[继续]
|
||||
J --> K
|
||||
K --> L[输出 a, b, c的值]
|
||||
L --> M[结束]
|
||||
18
Experiment/graph/Exp2/U2.mermaid
Normal file
18
Experiment/graph/Exp2/U2.mermaid
Normal file
@@ -0,0 +1,18 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[定义 score = 55]
|
||||
B --> C["switch(score / 10)"]
|
||||
C --> D{case 0,1,2,3,4,5}
|
||||
D -- 匹配 --> E[输出 score 分是D等]
|
||||
C --> F{case 6}
|
||||
F -- 匹配 --> G[输出 score 分是C等]
|
||||
C --> H{case 7,8}
|
||||
H -- 匹配 --> I[输出 score 分是B等]
|
||||
C --> J{case 9,10}
|
||||
J -- 匹配 --> K[输出 score 分是A等]
|
||||
C --> L{default}
|
||||
L -- 匹配 --> M[输出 数据错误]
|
||||
E --> N[结束]
|
||||
G --> N
|
||||
I --> N
|
||||
K --> N
|
||||
M --> N
|
||||
10
Experiment/graph/Exp3/Circle.mermaid
Normal file
10
Experiment/graph/Exp3/Circle.mermaid
Normal file
@@ -0,0 +1,10 @@
|
||||
flowchart TD
|
||||
Start([开始]) --> A[创建Circle对象c,半径为5]
|
||||
A --> B1[Circle构造函数执行]
|
||||
B1 --> B2[设置radius=5]
|
||||
B2 --> B3[计算周长$$perimeter=2\times π\times radius$$]
|
||||
B3 --> B4[计算面积$$area=π\times radius\times radius$$]
|
||||
B4 --> C["调用c.getRadius()打印半径"]
|
||||
C --> D["调用c.getPerimeter()打印周长"]
|
||||
D --> E["调用c.getArea()打印面积"]
|
||||
E --> End([结束])
|
||||
11
Experiment/graph/Exp3/Person.mermaid
Normal file
11
Experiment/graph/Exp3/Person.mermaid
Normal file
@@ -0,0 +1,11 @@
|
||||
flowchart TD
|
||||
Start([开始]) --> A[创建Person对象p]
|
||||
A --> B[调用p.addPerson方法]
|
||||
B --> B1[设置IdPerson=123]
|
||||
B1 --> B2["设置Name='John Doe'"]
|
||||
B2 --> B3[设置Sex='M']
|
||||
B3 --> B4[设置Birthday=1990-01-01]
|
||||
B4 --> B5["设置HomeAddress='123 Main St'"]
|
||||
B5 --> C[调用p.showPerson方法]
|
||||
C --> C1[打印IdPerson, Name, Sex, Birthday, HomeAddress]
|
||||
C1 --> End([结束])
|
||||
16
Experiment/graph/Exp3/Rectangle.mermaid
Normal file
16
Experiment/graph/Exp3/Rectangle.mermaid
Normal file
@@ -0,0 +1,16 @@
|
||||
flowchart TD
|
||||
Start([开始]) --> A["创建Rectangle对象rect1(5,3)"]
|
||||
A --> A1[设置lx=0, ly=0]
|
||||
A1 --> A2[设置rx=5, ry=3]
|
||||
A2 --> B[打印rect1周长]
|
||||
B --> B1["计算周长:$$2\times(|rx-lx|+|ry-ly|)$$"]
|
||||
B1 --> C[打印rect1面积]
|
||||
C --> C1["计算面积:$$|rx-lx|\times|ry-ly|$$"]
|
||||
C1 --> D["创建Rectangle对象rect2(1,6,6,2)"]
|
||||
D --> D1[设置lx=1, ly=6]
|
||||
D1 --> D2[设置rx=6, ry=2]
|
||||
D2 --> E[打印rect2周长]
|
||||
E --> E1["计算周长:$$2\times(|rx-lx|+|ry-ly|)$$"]
|
||||
E1 --> F[打印rect2面积]
|
||||
F --> F1["计算面积:$$|rx-lx|\times|ry-ly|$$"]
|
||||
F1 --> End([结束])
|
||||
27
Experiment/graph/Exp4/AbFather.mermaid
Normal file
27
Experiment/graph/Exp4/AbFather.mermaid
Normal file
@@ -0,0 +1,27 @@
|
||||
classDiagram
|
||||
class Father {
|
||||
<<abstract>>
|
||||
# double height
|
||||
# double weight
|
||||
+ Father(double height, double weight)
|
||||
+ double getHeight()
|
||||
+ void setHeight(double height)
|
||||
+ double getWeight()
|
||||
+ void setWeight(double weight)
|
||||
+ void hobby()
|
||||
}
|
||||
|
||||
class Son {
|
||||
- String personality
|
||||
+ Son(double height, double weight, String personality)
|
||||
+ String getPersonality()
|
||||
+ void setPersonality(String personality)
|
||||
+ void hobby()
|
||||
}
|
||||
|
||||
class Main {
|
||||
+ main(String[] args)
|
||||
}
|
||||
|
||||
Father <|-- Son : 继承
|
||||
Main --> Son : 创建与使用
|
||||
33
Experiment/graph/Exp4/Graphic.mermaid
Normal file
33
Experiment/graph/Exp4/Graphic.mermaid
Normal file
@@ -0,0 +1,33 @@
|
||||
classDiagram
|
||||
class Graphic {
|
||||
<<interface>>
|
||||
+ double area()
|
||||
+ double perimeter()
|
||||
}
|
||||
|
||||
class Circle {
|
||||
- double radius
|
||||
+ Circle(double radius)
|
||||
+ double area()
|
||||
+ double perimeter()
|
||||
+ double getRadius()
|
||||
}
|
||||
|
||||
class Rectangle {
|
||||
- double width
|
||||
- double height
|
||||
+ Rectangle(double width, double height)
|
||||
+ double area()
|
||||
+ double perimeter()
|
||||
+ double getWidth()
|
||||
+ double getHeight()
|
||||
}
|
||||
|
||||
class Test {
|
||||
+ main(String[] args)
|
||||
}
|
||||
|
||||
Graphic <|.. Circle : 实现
|
||||
Graphic <|.. Rectangle : 实现
|
||||
Test --> Circle : 创建与使用
|
||||
Test --> Rectangle : 创建与使用
|
||||
26
Experiment/graph/Exp4/RRect.mermaid
Normal file
26
Experiment/graph/Exp4/RRect.mermaid
Normal file
@@ -0,0 +1,26 @@
|
||||
classDiagram
|
||||
class calrect {
|
||||
<<interface>>
|
||||
+ int calarea()
|
||||
+ int calgirth()
|
||||
+ int getx()
|
||||
+ int gety()
|
||||
}
|
||||
|
||||
class RRect {
|
||||
- int x
|
||||
- int y
|
||||
+ RRect()
|
||||
+ int calarea()
|
||||
+ int calgirth()
|
||||
+ int getx()
|
||||
+ int gety()
|
||||
}
|
||||
|
||||
class Class1 {
|
||||
+ RRect rect
|
||||
+ main(String[] args)
|
||||
}
|
||||
|
||||
calrect <|.. RRect : 实现
|
||||
Class1 --> RRect : 创建与使用
|
||||
26
Experiment/graph/Exp5/CollectionStringProcessing.mermaid
Normal file
26
Experiment/graph/Exp5/CollectionStringProcessing.mermaid
Normal file
@@ -0,0 +1,26 @@
|
||||
graph TD
|
||||
A[开始] --> B[初始化: 定义英文文本];
|
||||
B --> C[输出: 原始文本];
|
||||
C --> D[--- ArrayList 处理 ---];
|
||||
D --> E{预处理文本: 转小写, 去标点, 按空格拆分};
|
||||
E --> F["将拆分后的单词存入 ArrayList (wordList)"];
|
||||
F --> G[移除 ArrayList 中的空字符串];
|
||||
G --> H{"计算: wordList 的大小 (单词总数)"};
|
||||
H --> I[输出: 单词总个数];
|
||||
I --> J{创建副本并排序: 对 wordList 进行排序};
|
||||
J --> K[输出: 排序后的所有单词];
|
||||
K --> L[--- HashSet 处理 ---];
|
||||
L --> M{"创建: 从 wordList 创建 HashSet (uniqueWordsSet) 以获取不重复单词"};
|
||||
M --> N{"计算: uniqueWordsSet 的大小 (不同单词个数)"};
|
||||
N --> O[输出: 不同单词的个数];
|
||||
O --> P[输出:所有不同的单词];
|
||||
P --> Q[--- HashMap 处理 ---];
|
||||
Q --> R{"创建: 初始化空的 HashMap (wordCountMap)"};
|
||||
R --> S{遍历 wordList 中的每个单词};
|
||||
S -- 存在 --> T{更新: 单词在 wordCountMap 中已存在, 个数+1};
|
||||
S -- 不存在 --> U{添加: 单词首次出现, 存入 wordCountMap, 个数设为1};
|
||||
T --> V[遍历完所有单词];
|
||||
U --> V;
|
||||
V --> W{遍历 wordCountMap};
|
||||
W --> X[输出: 每个单词及其出现的次数];
|
||||
X --> Y[结束];
|
||||
10
Experiment/graph/Exp5/StringManipulation.mermaid
Normal file
10
Experiment/graph/Exp5/StringManipulation.mermaid
Normal file
@@ -0,0 +1,10 @@
|
||||
graph TD
|
||||
A[开始] --> B{输入: 请输入一串字符数据};
|
||||
B --> C[读取用户输入的字符串];
|
||||
C --> D{处理: 统计字符串长度};
|
||||
D --> E[输出: 字符个数];
|
||||
E --> F{处理: 将字符串转为大写};
|
||||
F --> G[输出: 大写字符串];
|
||||
G --> H{处理: 逆序大写字符串};
|
||||
H --> I[输出: 逆序后的大写字符串];
|
||||
I --> J[结束];
|
||||
7
Experiment/graph/Exp5/StringReplacement.mermaid
Normal file
7
Experiment/graph/Exp5/StringReplacement.mermaid
Normal file
@@ -0,0 +1,7 @@
|
||||
graph TD
|
||||
A[开始] --> B[初始化: 定义原始字符串];
|
||||
B --> C[输出: 原始字符串];
|
||||
C --> D{处理: 将所有 she 替换为 he};
|
||||
D --> E{处理: 将所有 She 替换为 He};
|
||||
E --> F[输出: 替换后的字符串];
|
||||
F --> G[结束];
|
||||
11
Experiment/graph/Exp5/TestMyDateTools.mermaid
Normal file
11
Experiment/graph/Exp5/TestMyDateTools.mermaid
Normal file
@@ -0,0 +1,11 @@
|
||||
graph TD
|
||||
A[开始] --> B[创建 MyDateTools 对象实例];
|
||||
B --> C1["调用 dateTools.getNow(null)"];
|
||||
C1 --> C2["输出: getNow(null) 的结果"];
|
||||
C2 --> C3["调用 dateTools.getNow('yyyy-MM-dd')"];
|
||||
C3 --> C4["输出: getNow('yyyy-MM-dd') 的结果"];
|
||||
C4 --> D1["调用 dateTools.getYear()"];
|
||||
D1 --> D2[输出: 当前年份];
|
||||
D2 --> E1["调用 dateTools.getMonth()"];
|
||||
E1 --> E2[输出: 当前月份];
|
||||
E2 --> F[结束];
|
||||
11
Experiment/graph/Exp6/DivideByZero.mermaid
Normal file
11
Experiment/graph/Exp6/DivideByZero.mermaid
Normal file
@@ -0,0 +1,11 @@
|
||||
graph TD
|
||||
A[开始] --> B{初始化 num1 = 100};
|
||||
B --> C[创建 Scanner 对象 in];
|
||||
C --> D{从控制台读取整数 num2};
|
||||
D --> E{尝试块开始};
|
||||
E --> F{计算 num1 = num1 / num2};
|
||||
F --> G[打印结果 “结果为: ” + num1];
|
||||
G --> H[结束];
|
||||
E -- ArithmeticException --> I[捕获 ArithmeticException];
|
||||
I --> J[打印 “除数不能为0”];
|
||||
J --> H;
|
||||
23
Experiment/graph/Exp6/ManyException.mermaid
Normal file
23
Experiment/graph/Exp6/ManyException.mermaid
Normal file
@@ -0,0 +1,23 @@
|
||||
graph TD
|
||||
A[开始] --> B{第一个 try 块};
|
||||
B --> C{计算 result = 8 / 0};
|
||||
C -- ArithmeticException --> D[捕获 ArithmeticException];
|
||||
D --> E[打印 “算术异常”];
|
||||
E --> F{第二个 try 块};
|
||||
C --> F;
|
||||
F --> G{获取 null 字符串的长度};
|
||||
G -- NullPointerException --> H[捕获 NullPointerException];
|
||||
H --> I[打印 “空指针异常”];
|
||||
I --> J{第三个 try 块};
|
||||
G --> J;
|
||||
J --> K{创建大小为4的float数组 arr};
|
||||
K --> L{"访问 arr[4]"};
|
||||
L -- ArrayIndexOutOfBoundsException --> M[捕获 ArrayIndexOutOfBoundsException];
|
||||
M --> N[打印 “数组下标越界异常”];
|
||||
N --> O{第四个 try 块};
|
||||
L --> O;
|
||||
O --> P{将字符串 '23U' 转换为 double};
|
||||
P -- NumberFormatException --> Q[捕获 NumberFormatException];
|
||||
Q --> R[打印 “字符串转换异常”];
|
||||
R --> S[结束];
|
||||
P --> S;
|
||||
34
Experiment/graph/Exp6/SafeTriangle.mermaid
Normal file
34
Experiment/graph/Exp6/SafeTriangle.mermaid
Normal file
@@ -0,0 +1,34 @@
|
||||
graph TD
|
||||
subgraph getArea 方法
|
||||
GA_A["开始 getArea(a, b, c)"] --> GA_B{判断 a+b>c 且 a+c>b 且 b+c>a};
|
||||
GA_B -- false --> GA_C[抛出 IllegalArgumentException “无法构成三角形”];
|
||||
GA_B -- true --> GA_D["计算 (a+b+c)/2"];
|
||||
GA_D --> GA_E[返回结果];
|
||||
GA_C --> GA_E;
|
||||
end
|
||||
|
||||
subgraph main 方法
|
||||
M_A[开始 main] --> M_B[创建 SafeTriangle 对象 triangle];
|
||||
M_B --> M_C{try 块};
|
||||
M_C --> M_D[打印 “请输入三角形的三条边长:”];
|
||||
M_D --> M_E[创建 Scanner 对象];
|
||||
M_E --> M_F[读取一行输入];
|
||||
M_F --> M_G[按空格分割输入为 parts 数组];
|
||||
M_G --> M_H{判断 parts.length < 3};
|
||||
M_H -- true --> M_I[抛出 IllegalArgumentException “请输入三条边长”];
|
||||
M_H -- false --> M_J[初始化 a, b, c = 0];
|
||||
M_J --> M_K{内部 try 块};
|
||||
M_K --> M_L["解析 parts[0] 为 a"];
|
||||
M_L --> M_M["解析 parts[1] 为 b"];
|
||||
M_M --> M_N["解析 parts[2] 为 c"];
|
||||
M_N --> M_O["调用 triangle.getArea(a, b, c) 获取面积 area"];
|
||||
M_O --> M_P[打印 “三角形面积: ” + area];
|
||||
M_P --> M_Q[结束 try 块];
|
||||
M_K -- NumberFormatException --> M_R[捕获 NumberFormatException];
|
||||
M_R --> M_S[抛出 IllegalArgumentException “边长必须是数字”];
|
||||
M_S --> M_T{捕获外部 IllegalArgumentException};
|
||||
M_I --> M_T;
|
||||
M_Q --> M_U[结束 main];
|
||||
M_T --> M_V["打印异常信息 e.getMessage()"];
|
||||
M_V --> M_U;
|
||||
end
|
||||
22
Experiment/graph/Exp6/TransCard.mermaid
Normal file
22
Experiment/graph/Exp6/TransCard.mermaid
Normal file
@@ -0,0 +1,22 @@
|
||||
graph TD
|
||||
subgraph pay 方法
|
||||
P_A["开始 pay(amount)"] --> P_B{判断 amount > balance};
|
||||
P_B -- true --> P_C[抛出 InsufficientBalanceException “余额不足”];
|
||||
P_B -- false --> P_D[balance -= amount];
|
||||
P_D --> P_E[打印 “支付成功,当前余额: ” + balance];
|
||||
P_E --> P_F[结束 pay];
|
||||
P_C --> P_F;
|
||||
end
|
||||
|
||||
subgraph main 方法
|
||||
M_A[开始 main] --> M_B[创建 TransCard 对象 card];
|
||||
M_B --> M_C[设置 card.balance = 100.0];
|
||||
M_C --> M_D{try 块};
|
||||
M_D --> M_E["调用 card.pay(50.0)"];
|
||||
M_E --> M_F["调用 card.pay(60.0)"];
|
||||
M_F --> M_G[结束 try 块];
|
||||
M_D -- InsufficientBalanceException --> M_H[捕获 InsufficientBalanceException];
|
||||
M_H --> M_I["打印异常信息 e.getMessage()"];
|
||||
M_I --> M_J[结束 main];
|
||||
M_G --> M_J;
|
||||
end
|
||||
19
Experiment/graph/Exp7/FibonacciSeq.mermaid
Normal file
19
Experiment/graph/Exp7/FibonacciSeq.mermaid
Normal file
@@ -0,0 +1,19 @@
|
||||
flowchart TD
|
||||
A[开始] --> B["定义 n=20,并创建 int[] fib"]
|
||||
B --> C["fib[0]=0; fib[1]=1"]
|
||||
C --> D["循环 i=2~19 计算 fib[i]=fib[i-1]+fib[i-2]"]
|
||||
D --> E[生成完毕,打开 FileWriter 写入 in.txt]
|
||||
E --> F[初始化 i=0]
|
||||
F --> G{是否 i < n?}
|
||||
G -- 是 --> H["写入 fib[i] 的字符串形式"]
|
||||
H --> I{"(i+1)%5==0?"}
|
||||
I -- 是 --> J["写入 \n"]
|
||||
I -- 否 --> K{i < n-1?}
|
||||
K -- 是 --> L["写入 , "]
|
||||
K -- 否 --> M[不写分隔符]
|
||||
J --> N[i++]
|
||||
L --> N[i++]
|
||||
M --> N[i++]
|
||||
N --> G
|
||||
G -- 否 --> O[关闭 FileWriter]
|
||||
O --> P[程序结束]
|
||||
22
Experiment/graph/Exp7/FibonacciSum.mermaid
Normal file
22
Experiment/graph/Exp7/FibonacciSum.mermaid
Normal file
@@ -0,0 +1,22 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[初始化 sum=0]
|
||||
B --> C[创建 FileReader 读取 in.txt]
|
||||
C --> D[创建 StringBuilder number]
|
||||
D --> E{"reader.read() 返回 ch"}
|
||||
E -- != -1 --> F{"Character.isDigit(ch)?"}
|
||||
F -- 是 --> G["number.append(ch 转字符)"]
|
||||
F -- 否 --> H{ch 是 ',' 或 '\n'?}
|
||||
H -- 是 --> I{number 是否为空?}
|
||||
I -- 否 --> J["sum += Integer.parseInt(number)"]
|
||||
J --> K["number.setLength(0)"]
|
||||
K --> E
|
||||
H -- 否 --> E
|
||||
E -- == -1 --> L{"number.length()>0?"}
|
||||
L -- 是 --> M["sum += Integer.parseInt(number)"]
|
||||
L -- 否 --> N[跳过]
|
||||
M --> N
|
||||
N --> O[关闭 FileReader]
|
||||
O --> P[创建 FileWriter 写入 sum.txt]
|
||||
P --> Q[将 sum 转为字符串写入]
|
||||
Q --> R[关闭 FileWriter]
|
||||
R --> S[程序结束]
|
||||
8
Experiment/graph/Exp7/FileContentCopy.mermaid
Normal file
8
Experiment/graph/Exp7/FileContentCopy.mermaid
Normal file
@@ -0,0 +1,8 @@
|
||||
flowchart TD
|
||||
A[开始] --> B[创建 FileReader 读取 source.txt]
|
||||
B --> C[创建 FileWriter 写入 object.txt]
|
||||
C --> D{"reader.read() 返回值"}
|
||||
D -- != -1 --> E[将字符写入 object.txt]
|
||||
E --> D
|
||||
D -- == -1 --> F[关闭 reader 和 writer]
|
||||
F --> G[程序结束]
|
||||
Reference in New Issue
Block a user