我想使用Java添加4位數字的1或2位數字。編輯的Java添加4位數字的數字
i1=2
i2=33
i3=12
i4=10
結果:12(2 + 3 + 3 + 1 + 2 + 1 + 0)
我怎麼能這樣做呢?
我想使用Java添加4位數字的1或2位數字。編輯的Java添加4位數字的數字
i1=2
i2=33
i3=12
i4=10
結果:12(2 + 3 + 3 + 1 + 2 + 1 + 0)
我怎麼能這樣做呢?
創建一個函數,將計算的數字的總和:
int getDigitSum(int n) {
return Math.floor(n/10) + n % 10;
}
然後使用它的每一個值,總結的結果。
請注意,我寫這個方法只適用於小於100的數字。如果需要,您可以輕鬆地創建更通用的方法。
不需要使用'Math.floor()'。整數除法自動截斷。 – 2014-11-04 18:35:39
另外,如果輸入有兩個以上的數字呢? – 2014-11-04 18:36:11
@ Code-Apprentice,這不是一個普通的功能 - 只是一個簡單的方法來解決原始請求:)至於整數除法 - 我同意;但我認爲明確要求發言權會使代碼更清晰。 (當然,在一個緊密的循環中,我不會推薦這樣做)。 – 2014-11-04 18:38:22
你想這樣做,是這樣的:
public static void main(String[]args){
int num=1234,sumOfDigits=0;
while(num!=0){
sumOfDigits+=num%10;
num/=10;
}
System.out.println("Sum of digits is : " + sumOfDigits);
}
事物要了解%給剩餘的號碼,所以當你做1234%10它給4.這是最後一位。
num/= 10表示num = num/10;所以這將是1234/10將是123而不是123.4,因爲這是int整數。
我給一個嘗試,以實現在一張紙上你的目標though.:-).Please試試這個
int addition=0;
int num=243;
while(num>9){
int rem;
rem=num%10;
addition=addition+rem;
num=num/10;
if(num<9) {
addition+=num;
num=addition;
addition=0;
}
}
System.out.println(num);
下面是一些提示,你可能需要:
1)如果你上使用/
參數將是整數,那麼你的結果也將是整數。
例子:
int x = 7/2;
System.out.println(x);
輸出:3
(未3.5
)
因此擺脫整數的最後一位的所有你能做的是10樣
int x = 123;
x = x/10;
System.out.println(x);
除以這個數字
輸出:12
2)Java也有模運算符,從分區返回提醒,如7/2=3
和1
會提醒。這個操作符是%
例
int x = 7;
x = x % 5;
System.out.println(x);
輸出:2
因爲7/5=1 (2 remains)
因此,要獲得最後一個數字從整,你可以簡單地使用% 10
像
int x = 123;
int lastDigit = x%10;
System.out.println(lastDigit);
輸出:3
現在嘗試結合這些知識。獲取號碼的最後一位數字,將其加起來,刪除最後一位數字(重複,直到不再有數字)。
第1步:獲取數字。 – 2014-11-04 18:30:48
步驟2:獲得總和 – 2014-11-04 18:31:41
請注意,不要使用'i1','i2','i3'等作爲變量名稱,因爲您不知道有多少個數字。當你開始在變量名中使用數字時,這意味着你需要一個循環或一個「List」(或兩者)。 – 2014-11-04 18:34:38