我从键盘接收十个字符串,然后判断字符串能否转换为int输出首先我想到的是用scanner,转换为string后,调用charAt(int index)来判断字符串里的字符是否都是数字
这里就存在一个问题,比如我要判断"568","56ab3",“abc36a”,"abc"
对"568" 而言,我就要判断5'' '6' '8'都是数字,这个全部判断为数字的条件该怎么写呀。。

解决方案 »

  1.   

    这个意思?
    String s = "56ab3";
    System.out.println(s.matches("\\d+"));
      

  2.   

    呵呵,楼上所用的方法很不错,如果不用方法,我要判断一个string 数组里每个元素是否是数字怎么判断呢
    String arr[] = new String[5];
    for (int i=0; i<arr.length; i++) {
            ............
    }
    这里已经有个数组arr,然后再对里面的元素进行操作,用charAt()方法,又会操作一个数组
    这样是成了数组的嵌套还是成了二维数组?char[] array = new char[10]
    现在我要 判断 array[i] 是否都是数字,或者是否至少有一个数字
    这样的判断怎么用语句来书写呀?
     
      

  3.   

    String arr[] = new String[5];for (int i=0; i<arr.length; i++) {
         
         for(int j=0;j<arr[i].length();j++ ){
            if(arr[i].charAt(j)>='0'&&arr[i].charAt(j)<='9'){
            //如果进入这里就说明是数字
            }
         }
    }
      

  4.   

    blliy117那樣的寫法不行
    我開始也是這樣寫的,
    后來覺得有問題
    那樣只是判斷了arr[i] 元素 的第j個字符是不是數字。。
    比如說arr[i] = "56abc3"; 那樣只是判斷了'5',或者'6'是數字
    但我要的是5,6,a,b,c,3,是否 都是數字
    或者判斷它的結果是至少有一個數字以外的字符
      

  5.   

    设个flag
    把blliy117程序里面的if条件反过来,有进入则改flag,break