gpt4 book ai didi

java - 将 string 转换为 int 并获取数字之和

转载 作者:行者123 更新时间:2023-12-01 16:53:58 25 4
gpt4 key购买 nike

当我测试这段代码时,它总是返回 0,我不确定为什么。

public class test {
public int sumOfDigits(String s) {
int sum = 0;
for (int i=0; i<s.length(); i++) {
char cur = s.charAt(i);

if (cur >= 0 && cur <= 9) {
sum += cur - '0';
}
}

return sum;
}
}

最佳答案

你几乎已经做到了,但你的问题是你需要从所有使用 cur 作为数字的地方减去 '0'。解决此问题的最简单方法就是在首次分配 cur 时减去 '0':

public class test {

public int sumOfDigits(String s){
int sum = 0;
for(int i=0; i<s.length(); i++){
char cur = (char)(s.charAt(i) - '0'); //Java autocasts to int when you subtract

if (cur >= 0 && cur <= 9){
sum += cur;
}
}


return sum;

}

}

如果您不想破坏 cur 的实际字符值,也可以在使用 cur 的任何地方添加 - '0' >:

if ((cur - '0') >= 0 && (cur - '0') <= 9){
sum += (cur - '0');
}

关于java - 将 string 转换为 int 并获取数字之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330367/

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