10.16 ppt作业
1 //课堂测试 2 package test01; 3 4 import java.util.Scanner; 5 6 public class Main{ 7 8 public static void main(String[] args) { 9 Scanner scanner = new Scanner(System.in); 10 while(true){ 11 try{ 12 String s = scanner.next(); 13 int num = Integer.parseInt(s); 14 int flag = 0; 15 if(num>=90&&num<=100){ 16 flag = 1; 17 } 18 else if(num>=80&&num<90){ 19 flag = 2; 20 } 21 else if(num>=70&&num<80){ 22 flag = 3; 23 } 24 else if(num>=60&&num<70){ 25 flag = 4; 26 } 27 else if(num>=0&&num<60){ 28 flag = 5; 29 } 30 else{ 31 flag = 0; 32 } 33 switch(flag){ 34 case 1: 35 System.out.println("优"); 36 break; 37 case 2: 38 System.out.println("良"); 39 break; 40 case 3: 41 System.out.println("中"); 42 break; 43 case 4: 44 System.out.println("及格"); 45 break; 46 case 5: 47 System.out.println("不及格"); 48 break; 49 default: 50 System.out.println("Error!"); 51 break; 52 } 53 } 54 catch(Exception e){ 55 System.out.println("Error!"); 56 } 57 } 58 59 60 } 61 } 62 63 //动手动脑 64 import javax.swing.*; 65 66 class AboutException { 67 public static void main(String[] a) 68 { 69 int i=1, j=0, k; 70 k=i/j; 71 try 72 { 73 74 k = i/j; // Causes division-by-zero exception 75 //throw new Exception("Hello.Exception!"); 76 } 77 78 catch ( ArithmeticException e) 79 { 80 System.out.println("被0除. "+ e.getMessage()); 81 } 82 83 catch (Exception e) 84 { 85 if (e instanceof ArithmeticException) 86 System.out.println("被0除"); 87 else 88 { 89 System.out.println(e.getMessage()); 90 91 } 92 } 93 finally 94 { 95 JOptionPane.showConfirmDialog(null,"OK"); 96 } 97 } 98 } 99 //Exception in thread "main" java.lang.ArithmeticException: / by zero at AboutException.main(Main.java:7) 100 101 //浮点数除以0 102 public class ThrowDemo { 103 public static void main(String[] args) { 104 // try { 105 double data = 100 / 0.0; 106 System.out.println("浮点数除以零:" + data); 107 // if(String.valueOf(data).equals("Infinity")) 108 // { 109 // System.out.println("In Here" ); 110 // throw new ArithmeticException("除零异常"); 111 // } 112 // } 113 // catch(ArithmeticException e) { 114 // System.out.println(e); 115 // } 116 } 117 } 118 //结果如下: 119 //浮点数除以零:Infinity(随机赋值一个值) 120 121 //CatchWho.java 122 public class CatchWho { 123 public static void main(String[] args) { 124 try { 125 try { 126 throw new ArrayIndexOutOfBoundsException(); 127 } 128 catch(ArrayIndexOutOfBoundsException e) { 129 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch"); 130 } 131 132 throw new ArithmeticException(); 133 } 134 catch(ArithmeticException e) { 135 System.out.println("发生ArithmeticException"); 136 } 137 catch(ArrayIndexOutOfBoundsException e) { 138 System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch"); 139 } 140 } 141 } 142 //结果如下: 143 //ArrayIndexOutOfBoundsException/内层try-catch 144 //发生ArithmeticException 145 146 //CatchWho2.java 147 public class CatchWho2 { 148 public static void main(String[] args) { 149 try { 150 try { 151 throw new ArrayIndexOutOfBoundsException(); 152 } 153 catch(ArithmeticException e) { 154 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch"); 155 } 156 throw new ArithmeticException(); 157 } 158 catch(ArithmeticException e) { 159 System.out.println("发生ArithmeticException"); 160 } 161 catch(ArrayIndexOutOfBoundsException e) { 162 System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch"); 163 } 164 } 165 } 166 167 //结果如下: 168 //ArrayIndexOutOfBoundsException/外层try-catch 169 170 package test01; 171 172 public class EmbededFinally { 173 174 public static void main(String args[]) { 175 int result; 176 try { 177 System.out.println("in Level 1"); 178 try { 179 System.out.println("in Level 2"); 180 // result=100/0; //Level 2 181 try { 182 System.out.println("in Level 3"); 183 result=100/0; //Level 3 184 } 185 186 catch (Exception e) { 187 System.out.println("Level 3:" + e.getClass().toString()); 188 } 189 190 finally { 191 System.out.println("In Level 3 finally"); 192 } 193 // result=100/0; //Level 2 194 } 195 196 catch (Exception e) { 197 System.out.println("Level 2:" + e.getClass().toString()); 198 } 199 finally { 200 System.out.println("In Level 2 finally"); 201 } 202 // result = 100 / 0; //level 1 203 } 204 catch (Exception e) { 205 System.out.println("Level 1:" + e.getClass().toString()); 206 } 207 finally { 208 System.out.println("In Level 1 finally"); 209 } 210 211 } 212 213 } 214 //结果如下: 215 /* 216 in Level 1 217 in Level 2 218 in Level 3 219 Level 3:class java.lang.ArithmeticException 220 In Level 3 finally 221 In Level 2 finally 222 In Level 1 finally 223 */ 224 225 226 package test01; 227 228 public class SystemExitAndFinally { 229 230 public static void main(String[] args) 231 { 232 try{ 233 System.out.println("in main"); 234 throw new Exception("Exception is thrown in main"); 235 //System.exit(0); 236 } 237 catch(Exception e) 238 { 239 System.out.println(e.getMessage()); 240 System.exit(0); 241 } 242 finally 243 { 244 System.out.println("in finally"); 245 } 246 } 247 } 248 //结果如下: 249 /* 250 in main 251 Exception is thrown in main 252 并没有实现finally中的语句,因为System.exit(0);强制程序退出了 253 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?