使用scanner.chopper:java汇总字符串中的整数

时间:2015-12-06 02:37:01

标签: java

在这个网站上的第一篇文章,所以,我基本上必须找到一种方法切割字符串中的整数,只用空格划分,(例子就是(&#34) ; 9 10 5 20 1 2 3")然后找到所有切碎的整数的总和。我知道我必须使用 chopper.nextInt(),但我我不知道如何格式化整个代码,以及后面的输出求和。非常感谢!

import static java.lang.System。*;    import java.util.Scanner;

公共类LineTotaller {     私有字符串行;

public LineTotaller()
{
    setLine("");
}

public LineTotaller(String s)
{setLine(s);
}

public void setLine(String s)
{line = s;
}

public int getSum()
{

  int sum = 0;
    Scanner chopper = new Scanner(line);
    while(chopper.hasNextInt())
    { 
        out.print(chopper.nextInt());

        sum+= //returned ints from above


    }

}
public String getLine()
{
    return "";
}

public String toString()
{
    return getLine();
}

}

2 个答案:

答案 0 :(得分:0)

我想你想做以下事情

public int getSum()
{
    int sum = 0;
    Scanner chopper = new Scanner(line);
    while(chopper.hasNextInt())
    {
        int nextInt = chopper.nextInt();
        System.out.print(nextInt);
        sum += nextInt;
    }
    return sum;
}

通过nextInt确认某些内容后,您只能拨打hasNextInt一次。如果要打印并将其添加到总和中,则必须将值临时存储在变量中。

答案 1 :(得分:0)

考虑使用string.split()方法将数字字符串放入字符串数组中,然后使用'for循环'遍历数组,将每个元素转换为整数(Integer.valueOf())并保持持续每次迭代总计。

类似的东西:

String yourString = "9 10 5 20 1 2 3";
String[] myNumbers = yourString.split(" ");
int total = 0;
for (int i = 0; i < myNumbers.length; i++) {
    total+= Integer.valueOf(myNumbers[i]);
}

System.out.println("Total is: -> " + total);

那应该为你完成。