gpt4 book ai didi

java - 求一串由运算符分隔的数字的总和

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:20 24 4
gpt4 key购买 nike

给定字符串=“128+16+8+2+1”答案应打印出 155

代码应该将字符串中的所有数字相加,并且答案应该作为字符串打印出来。我尝试为此编写代码,但是最后 2 个数字不会相加,我当前的答案是打印出 153。寻求帮助以引导我找到正确的解决方案。

import java.util.stream.*;
public class add {
static void evalA(String s) {
int n = countChar(s,'+');
System.out.println(s);
int cnt = 0;
int[] data = new int[n];
for(int i=0;i<s.length();i++) {
if (s.charAt(i)=='+') {
System.out.println(s.substring(0,i));
data [cnt] = Integer.parseInt(s.substring(0,i));
cnt++;
s = s.substring(i+1,s.length()-1);
i=0;
}

}
String sum = ""+IntStream.of(data).sum();
System.out.println(sum);
}
}

最佳答案

你可以这样做:

public static void main(String[] args) 
{
evaluate("128+16+8+2+1");
}

public static void evaluate(String equation)
{
String[] numbers = equation.split("\\+");

int sum = 0;

for (String number : numbers)
{
//could wrap this in a check incase of exception or errors
sum += Integer.parseInt(number);
}

System.out.println(sum);
}

它只是用 + 分割字符串,以数组形式获取各个数字,然后循环遍历该数组并将每个数字值添加到 sum 变量中。

关于java - 求一串由运算符分隔的数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48697713/

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