如何从字符串中提取整数并在Java中将它们一起添加,而不使用split方法/数组?

时间:2014-10-14 23:12:30

标签: java string methods

说我给了一个字符串(1 5 23 100 90)。

如何提取它们,将它们转换为整数,然后将它们一起添加?

我相信Integer.parseInt(String)会将它们转换为整数,但我遇到的麻烦就是提取它们。

这是我的伪代码:

1)存储整数。

2)当有空格时停止。

3)重复步骤1-2(所以可能是一个循环?)

4)然后将它们转换为整数,因为它们仍被视为字符串。

5)将它们全部加在一起。

3 个答案:

答案 0 :(得分:2)

使用java Scanner类。它可以帮助您使用分隔符(在您的情况下为空格和“(”和“)”字符。

Scanner s = new Scanner(input).useDelimiter(WHATEVER_DELIMITERS_YOU_NEED);
sum = 0;
while(true) {
    sum += s.nextInt();
    if(!s.haNext())
        break;
}

答案 1 :(得分:0)

这应该可以解决问题......假设你被允许使用模式

public int printSum(String str) {
    Scanner scan = new Scanner(str);
    int sum = 0;

    // tell the scanner to use "(", " ", or ")" as a delimeter 
    scan.useDelimiter("(\\(|\\s|\\))");

    while ( scan.hasNext() ) {
        try {
            sum += scan.nextInt();
        }
        catch (Exception ex) {
            // if input is unable to be parsed.
            ex.printStackTrace();
        }
    }

    return sum;
}

答案 2 :(得分:0)

Scanner的构造函数以String为参数,并允许您使用Scanner来读取String

您可能希望从阅读初始(字符开始。之后,您可以反复调用hasNextIntnextInt,直到hasNextInt返回false。随时添加int返回的nextInt值。