gpt4 book ai didi

java - 从字符串中添加和减去数字

转载 作者:行者123 更新时间:2023-12-01 18:14:01 24 4
gpt4 key购买 nike

该程序接受一个字符串并将其中的所有整数相加,我已将分隔符设置为“+”,并由任意数量的空格包围。它工作得很好,但现在我希望它也能处理任何负整数,例如,如果我输入“8 + 33 + 1,345 - 37”;输出是 41。它甚至没有达到 1,345或从总数中减去-37。分隔符是否被“跳过”?例如,如果我说编译器转到 8,然后跳过“+”,然后转到 33,我是否正确?如果我将分隔符设置为“\s*\+|-\s*”(+或-的尝试),输出仍然是41,为什么?

import java.util.*; 

import java.io.*;

public class Add_em_up
{

public static void main (String args [])

{

Scanner x = new Scanner (System.in);


System.out.print("Enter something like 8 + 33 + 1,345 + 137 :");


String s = x.nextLine();

Scanner sc1 = new Scanner (s);
sc1.useDelimiter("\\s*\\+\\s*");

int sum = 0;
while (sc1.hasNextInt())
{
sc1.skip(",*");
if (sc1.hasNextInt())
{
sum = sum + sc1.nextInt();
}

}
System.out.println("Sum is: " + sum);
}
}

最佳答案

只需将 +- 放入字符类中即可。

sc1.useDelimiter("\\s*[-+]\\s*");    

关于java - 从字符串中添加和减去数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30838640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com