说我给了一个字符串(1 5 23 100 90)。
如何提取它们,将它们转换为整数,然后将它们一起添加?
我相信Integer.parseInt(String)会将它们转换为整数,但我遇到的麻烦就是提取它们。
这是我的伪代码:
1)存储整数。
2)当有空格时停止。
3)重复步骤1-2(所以可能是一个循环?)
4)然后将它们转换为整数,因为它们仍被视为字符串。
5)将它们全部加在一起。
答案 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
。
您可能希望从阅读初始(
字符开始。之后,您可以反复调用hasNextInt
和nextInt
,直到hasNextInt
返回false。随时添加int
返回的nextInt
值。