自定义异常类,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;
}
}