String s = "0392434";
char[] chars = new char[s.length];
s.getChars(0,s.length-1,chars,0);
for(int i = 0; i < chars.length; i++){
     if(!Character.isDigit(chars[i]))
         return false;
}return true;

解决方案 »

  1.   

    其实有简单的方法:
    用Integer.parseInt(String),或Long.parseLong(String)
    如果不抛出异常就说明String是全部是数字的。
      

  2.   

    Character.isDigit(char ch);最简单。
      

  3.   

    用正则表达式不错,不过 Character.isDigit 判断比较简单,也不需要像 Tasia(这里是CSDN吗?) 写的这么复杂
    String a = "0000000";
    boolean alldigit = true;
    for (int i = 0; i < a.length(); ++i) {
        if (!Character.isDigit(a.charAt(i))) {
            alldigit = false;
            break;
        }
    }
      

  4.   

    用正则表达式的方法:String a = "012384120478";
    boolean b = java.util.regex.Pattern.matches("[0-9]*", a);
    System.out.println(b);
      

  5.   

    jdk1.4 or higherString num_str = "123456789";System.out.println( num_str.matches("^[\\d]*$") );