java异常处理的编程题(2)

自定义异常类,SnoException,用于检测学号是否合法

要求:

1)该类中有一个私有成员为学号,类型为字符串

2)该类拥有必要的构造方法、访问器和修改器

3)如果学号不是10位,或者第一个字符不是A,则抛出SnoException异常,要求捕获到异常后输出 "某学号不合法",具体见测试样例

4)Main类的主方法中实现一个学号并验证是否合法

按照题目要求做

输入用例

abc

输出用例

abc不合法

输入用例

A123456789

输出用例

A123456789合法

输入用例

A45462328

输出用例

A45462328不合法

以下是代码:

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String s=input.nextLine();
		try{
			if(SnoException.isNum(s)){
				System.out.println(s+"合法");
			}
			else
			{
				throw new SnoException(s+"不合法");
			}
		}catch(SnoException ex){
			System.out.println(ex.getMessage());
		}
	}

}
class SnoException extends Exception{
	private String num;
	public SnoException(){
		
	}
	public SnoException(String msg){
			super(msg);
		}
	public SnoException(String msg,Throwable cause){
		super(msg,cause);
		
	}
	public static boolean isNum(String s)
	{
		char str1[]=s.toCharArray();
		if(s.length()!=10||str1[0]!='A'){
			return false;
		}
//		for(int i=1;i<str1.length;i++){
//			if(Character.isDigit(str1[i]) ){//后九位必须是数字字符
//				
//			}else{
//				return false;
//			}
//		}		
		return true;
	
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值