我试图自己学习Java,而且遇到了一个我不太明白的问题。 我试图编写一个程序来计算交叉和。我的想法是将输入的数字拆分为char
数组,然后简单地通过 运行数组并计算总和。这些数字从哪里来?
这是我有:
public static int calcCrossSum (long number){
int sum = 0;
char[] charArray = String.valueOf(number).toCharArray();
for(int i = 0; i < charArray.length; i++){
sum += charArray[i];
}
return sum;
}
如果我试试这个方法用数字123,我得到150 结果,我不知道为什么。我试图使用调试器,并且似乎我的变量test
为自己添加了奇怪的数字,即使调试器显示Array的内容似乎是正确的。
如果有人能向我解释我做错了什么以及这些数字来自哪里,我将不胜感激。如果有什么不清楚的地方,我会很乐意尝试添加更多信息。
您正在添加字符值而不是其整数值。在添加到sum之前,将它们解析为一个整数值。谷歌“将字符转换为Java中的整数” – Kon
好吧,我得到了这个问题,但这些数字从哪里来?我是否添加了字符的ASCII值? – ViktorG