1、Ascii码转换:
public static void main(String[] args) {
String a = "Z";
// 其中A~Z表示65~90; a~z表示97~122
// 字符转换成数字(int类型)
int asc_Num = (int)a.getBytes()[0];
int num = 65;
// 数字转换成字符(char类型)
char asc_char = (char)num;
System.out.println(asc_Num+" "+asc_char);
}
import java.util.Scanner;
public class UserName {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //输入
int num = scanner.nextInt();
for (int i=0; i<num; i++){
String a = scanner.next();
boolean name_legal = judgeName(a);
//如果用户名合法,请输出 "Accept",反之输出 "Wrong"
if (name_legal==true){
System.out.println("Accept");
}else {
System.out.println("Wrong");
}
}
}
//方法:是否合法
public static boolean judgeName(String name){
// 其中A~Z表示65~90; a~z表示97~122; 1~9的Asc码:49~57
boolean judgeFirstChar = false;
// 条件一:用户名的首字符必须是大写或者小写字母。
int asc_Num = (int)name.getBytes()[0];
if (asc_Num>=65&&asc_Num<=90||asc_Num>=97&&asc_Num<=122){
judgeFirstChar = true;
}else { //如果不满足条件一
return false;
}
// 条件二:遍历字符串
int int_num = 0;
int char_num = 0;
for (int i = 0; i < name.length(); i++){
char c = name.charAt(i); // 获取字符串的字符
int asc_num = (int)c;
if (asc_Num>=65&&asc_Num<=90||asc_Num>=97&&asc_Num<=122||asc_Num>=49&&asc_Num<=57){
if (asc_Num>=49&&asc_Num<=57){
int_num++;
}else {
char_num++;
}
}else { //如果不满足条件二的话
return false;
}
}
// 条件三:判断至少一个字母和一个数字
if (judgeFirstChar==true&&int_num>=1&&char_num>=1){
return true;
}else {
return false;
}
}
}