练习1:根据编号输出课程名称
需求说明 按照控制台提示输入1~3之间任一个数字,程序将输出相应的课程名称 根据键盘输入进行判断。如果输入正确,输出对应课程名称。如果输入错误,给出错误提示 不管输入是否正确,均输出“欢迎提出建议!”语句
package com.hz.ch01;import java.util.Scanner;public class test01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);try {System.out.print("请输入课程代号(1~3之间的数字):");int a = sc.nextInt();if(a==1) {System.out.println("ufeu");}else if(a==2) {System.out.println("sdgh");}else if(a==3) {System.out.println("ufab");}}catch(Exception e) {e.printStackTrace();}finally {System.out.println("欢迎提出建议!");}}
}
运行:
请输入课程代号(1~3之间的数字):1
ufeu
欢迎提出建议!
练习2:使用throw抛出年龄异常
需求说明 在setAge(int age) 中对年龄进行判断,如果年龄介于1到100直接赋值,否则抛出异常 在测试类中创建对象并调用setAge(int age)方法,使用try-catch捕获并处理异常
package com.hz.ch02;
/*** 年龄* @author 26255**/
public class Age {private int age;public int getAge() {return age;}public void setAge(int age) throws Exception{if(age<1||age>100) {throw new Exception("年龄必须在1到100之间");}else {this.age = age;}}}
package com.hz.ch02;import java.util.Scanner;public class Text {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int m = sc.nextInt();Age n = new Age();try {n.setAge(m);}catch(Exception e) {e.printStackTrace();}}
}
运行:
qq
Exception in thread "main" java.util.InputMismatchExceptionat java.util.Scanner.throwFor(Unknown Source)at java.util.Scanner.next(Unknown Source)at java.util.Scanner.nextInt(Unknown Source)at java.util.Scanner.nextInt(Unknown Source)at com.hz.ch02.Text.main(Text.java:8)