-1

试图计算一个字符串中有多少个整数

System.out.println("Enter numbers, eg 1 2 3: ");
a = scan.nextLine();
b = count(a).length;

这不起作用。有没有简单的方法来做到这一点?

4

4 回答 4

1

try this

    Matcher m = Pattern.compile("\\d++").matcher(input);
    int n = 0;
    while(m.find()) {
        n++;
    }
于 2013-10-07T04:30:14.980 回答
0

You could just loop through the characters and check if they're 0 <= char <= 9.

于 2013-10-07T04:28:45.783 回答
0

试试看,下面的代码假设只有整数作为输入,用空格分隔

public class Test {
    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter numbers, eg 1 2 3: ");
        String input = scan.nextLine().trim();      
        String[] intArr = input.split(" "); 
        System.out.println("Length ::" +intArr.length);     
        scan.close();
    }           
}
于 2013-10-07T04:31:59.523 回答
0

您可以按照以下方式进行

public class finalTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
String x="abc0123456789";
char x1[]=x.toCharArray();
for(int i=0;i<x1.length;i++)
{
    //System.out.println(x1[i]);
    int x2=x1[i];
    System.out.println(x2);
}
    }

}

输出

97
98
99
48
49
50
51
52
53
54
55
56
57

如您所见,小写字母从 97 开始,整数值从 48 开始,类似地,大写字母从 65 开始。所以现在您可以区分哪些是字母,哪些是整数

于 2013-10-07T04:32:01.740 回答