java如何判断 字符串只有数字和字母组成,且字符串开头为英文字母?

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));
    }
}