练习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.InputMismatchException
at 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)