输入字符串 s = "100.0 + 50.0 + 20.0"
所需输出总和 = 170.0
我尝试了多种转换和数据类型,但没有按预期工作,甚至检查了堆栈溢出和其他站点,但仍然不确定如何执行此操作。 我尝试了多种转换和数据类型,但没有按预期工作,甚至检查堆栈溢出和其他站点,但仍然不确定如何执行此操作。
您可以将字符串
split
分成更小的字符串然后进行处理。
String input = "100.0 + 50.0 + 20.0";
String[] parts = input.split(" "); // split where there is a space
分裂的结果将是
[100.0 , + , 50.0 , + , 20.0]
现在,您可以处理数字并忽略“+”号。
double sum = 0.0;
for(String s : numbers){
if(s.equals("+") || s.isEmpty())
continue; // ignore spaces and + sign
double number = Double.parseDouble(s); // convert others to double
sum += number; // calculate the sum
}
System.out.println(sum);
注意:如果输入的数字之间没有空格,即如果输入类似于“150+70+20”,则此方法将不起作用。这是非常基本的方法,如果您有复杂的用例,最好使用一些库。