JAVA学习
java如何判断 字符串只有数字和字母组成,且字符串开头为英文字母?
求告知
public static boolean normalstr(String s){
int len = s.length();
for(int i=0;i<len;i++) {
char ch = s.charAt(i);
if(!Character.isLetterOrDigit(ch)) {
return false;
}
}
return true;
}
public static void main(String[] args) {
String s1 = "a123b";
String s2 = "..123sdf";
System.out.println("s1:"+normalstr(s1));
System.out.println("s2:"+normalstr(s2));
}
正确代码如下,如若有帮助,还请采纳
package cn.personal.demo05;
import java.util.Scanner;
public class Test {
// 判断一个字符串中是否仅为字母和数字,且第一个必须为字母
public static boolean isLetterDigit(String str) {
String regex = "^[a-z0-9A-Z]+$";
boolean bool1=str.matches(regex);
boolean bool2=false;
char c=str.charAt(0);
if(c<'z'&&c>'a'||c<'Z'&&c>'A'){
bool2=true;
}
return bool1&&bool2;
}
// 字符串只有数字和字母组成,且字符串开头为英文字母
public static void main(String[] args) {
System.out.print("请输入一串字符:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(str + "字符串只有数字和字母组成,且字符串开头为英文字母为:"
+ isLetterDigit(str));
}
}