要求: 1.使用键盘获取用户录入内容,只能传入英文字符串,否则抛出 非法字符 的异常
2.非法字符 的异常需要自定义
3.异常定义会运行时异常
代码实现:
package lesson06;
import java.util.Scanner;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*练习:键盘输入的用户名只能包含英文字符
1.使用键盘获取用户录入内容,只能传入英文字符串,否则抛出 非法字符 的异常
2.非法字符 的异常需要自定义
3.异常定义会运行时异常*/
//1.监听用户的输入
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名,只能输入英文");
String username = scanner.nextLine();
//2.判断有没有非法字符异常
validUsername(username);
System.out.println("您输入的用户名为:" + username);
}
/***
* 校验用户名格式是否正确
*/
public static void validUsername(String name) throws UnvalidStringException{
//遍历字符
for(char ch : name.toCharArray()){
//1.大写的区间
boolean uper = (ch >= 'A' && ch <= 'Z');
//2.小写的区间
boolean lower = (ch >= 'a' && ch <= 'z');
if(!(uper || lower)){
throw new UnvalidStringException("用户名不合法,只能是英文字母");
}
}
}
}
class UnvalidStringException extends RuntimeException{
public UnvalidStringException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
}
网友评论