异常练习题

练习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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值