import java.util.Scanner;

/*判断字符串是否是数字格式*/

public class CheckNum {
   public static void main(String args[]){	
	   Scanner scanner = new Scanner(System.in);
	   System.out.println("请输入要验证的字符串:");
	   String str = scanner.next();
	   char c[] = str.toCharArray();
	   for(int i=0;i<c.length;i++){
	        //利用Character类的isDigit()方法判断
		   if(!Character.isDigit(c[i])){  	  	               
		       System.out.println("这不是数字字符串");
		       return;     //若有一个字符不是数字则返回
	   }
   }System.out.println("这是数字字符串");
 }
}

知识点:

1.若是需要遍历一个字符串的各个字符信息,通常需要将字符串转化成字符数组,即toCharArray(),当然也可以用charAt(int index)进行循环遍历每一个字符,将其存入char型数组中;

2.Character类是对单个字符进行操作,Character.isDigit()判断字符是否是数字,返回值是true或false,Character.isLetter(char ch)判断字符ch是否为字母

小技巧:

1.快速打出输出语句System.out.print()的快捷方法是syso+alt+/再回车即可;

2.for中若是错写i<=c.length,则会出现成数组引用越界错误信息Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException,要熟悉常见的错误信息提示,以便快速找出错误并修正


除了用java自带的方法外,还可用正则表达式来判断,str.matches("[0-9]+")返回boolean值          

ps:这个方法只能用于判断是否是正整数


j_0003.gif