我試圖自己學習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