在这个网站上的第一篇文章,所以,我基本上必须找到一种方法切割字符串中的整数,只用空格划分,(例子就是(&#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();
}
}
答案 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);
那应该为你完成。