Initial commit
This commit is contained in:
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
|
||||
Reference in New Issue
Block a user