public class Prcctice5 {
/**
* 编写一个校验用户名的程序,检测键盘录入的用户名是否合法 要求:用户名必须是6-10位之间的字母或数字并且不能以数字开头
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入用户名(用户名必须是6-10位的字母或者数字,且不能以数字开头)");
boolean flag = true;
while(true){
String line = sc.nextLine();
if(line.length()<=10&&line.length()>=6){
char [] arr =line.toCharArray();
if(!(arr[0]>='0'&&arr[0]<='9')){
for (char c : arr) {
if(!((c>='A'&&c<='Z')||(c>='0'&&c<='9')||(c>='a'&&c<='z'))){
System.out.println("不正確");
flag = false;
break;
}
}
if(flag==true){
System.out.println("輸入正確");
}
}else{
System.out.println("错了,重新输");
}
}else{
System.out.println("错了");
}
}
}
}
感觉深深的佩服自己怎么办.不过用正则真的好简单
String regex = "[a-zA-Z][\\w]{5,9}";
//String regex = "[A-Za-z][A-Za-z0-9]{5,9}";
|