如何在Java中判断字符串的第一个字符是否为数字?


使用isDigit()方法

java.lang.Character类的isDigit()方法接受一个字符作为参数,并判断它是否为数字。如果给定字符是数字,则此方法返回true;否则,此方法返回false。

因此,要确定给定字符串的第一个字符是否为数字。

  • String类的charAt()方法接受一个表示索引的整数值,并返回指定索引处的字符。

  • 此类的toCharArray()方法将字符串转换为字符数组并返回它,您可以将其第一个字符作为array[0]获取。

  • 使用上述任一方法检索所需字符串的第一个字符。

  • 然后,通过将其作为参数传递给isDigit()方法来确定它是否为数字。

示例

import java.util.Scanner;
public class FirstCharacterOfString {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String str = sc.next();
      //Converting String to a character array
      char charArray[] = str.toCharArray();
      boolean bool = Character.isDigit(charArray[0]);
      if(bool) {
         System.out.println("First character is a digit");
      } else {
         System.out.println("First character is not a digit");
      }
   }
}

输出1

Enter a String
krishna
First character is not a digit

输出2

Enter a String
2sample
First character is a digit

使用正则表达式。

String类的matches()方法接受一个正则表达式,并验证它是否与当前字符串匹配;如果匹配,则返回true;否则,返回false。

匹配以数字作为第一个字符的字符串的正则表达式为“^[0-9].*$”。将其作为参数传递给String类的matches()方法。

示例

import java.util.Scanner;
public class FirstCharacterOfString {
   public static void main(String args[]) {
      //reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String str = sc.next();
      boolean bool = str.matches("^[0-9].*$");
      if(bool) {
         System.out.println("First character is a digit");
      } else {
         System.out.println("First character is not a digit");
      }
   }
}

输出1

Enter a String
krishna
First character is not a digit

输出2

Enter a String
2sample
First character is a digit

更新于:2019年10月11日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告