3 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以在 while 循環(huán)中使用,它將接受@GBlodgett 建議的任何數(shù)字
public static void main(String[] args) {
System.out.println(sumDigitsInNumber(546));
}
public static int sumDigitsInNumber(int number) {
int sum = 0;
while(number!=0)
{
sum = sum + number%10;
number = number/10;
}
return sum;//write your code here
}

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
在 Java 中 % 是模運(yùn)算符。它提供了該部門的其余部分。如果在 Java 中除以整數(shù)值,任何余數(shù)都將丟失。
如果您像這樣添加一些臨時(shí)日志記錄:
public static int sumDigitsInNumber(int number) {
int sum = 0;
sum = sum + number % 10;
number = number / 10;
System.out.println(number);
sum = sum + number % 10;
number = number / 10;
System.out.println(number);
sum = sum + number % 10;
number = number / 10;
System.out.println(number);
return sum; // write your code here
您將獲得以下輸出:
54
5
0
15
546 % 10 = 6
546 / 10 = 54
54 % 10 = 4
54 / 10 = 5
5 % 10 = 5
5 / 10 = 0
總和 = 6 + 5 + 4 = 15
您的代碼最多只能使用三位數(shù)字。如果您將模數(shù)和除法運(yùn)算的序列轉(zhuǎn)移到一個(gè)循環(huán)中,這將是一個(gè)通用的解決方案。

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
public class Solution {
public static void main(String[] args) {
System.out.println(sumDigitsInNumber(546));
}
public static int sumDigitsInNumber(int number) {
int sum = 0;
sum = sum + number%10; // number%10 = the last digit of 546 (= 6), sum = 0 + 6
number = number/10; // number = number whithout the last digit (54)
sum = sum + number%10; // number%10 = the last digit of 54 (= 4), sum = 0 + 6 + 4
number = number/10; // number = number whithout the last digit (5)
sum = sum + number%10; // number%10= the last digit of 5 (= 5), sum = 0 + 6 + 4 + 5
number = number/10; // number = number whithout the last digit (useless)
return sum;//sum = 6 + 5 + 4 = 15
}
添加回答
舉報(bào)