3 回答

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
我不清楚你的奇數(shù)。此代碼的工作方式是(它不是Java特定的算法)例如。輸入= 2345第一次在while循環(huán)中rev = 5輸入= 234第二次rev = 5 * 10 + 4 = 54輸入= 23第三次rev = 54 * 10 + 3輸入= 2第四次rev = 543 * 10 + 2輸入= 0
所以反轉(zhuǎn)的數(shù)字是5432.如果你只想要反轉(zhuǎn)數(shù)字中的奇數(shù),那么。代碼是:
while (input != 0) { last_digit = input % 10; if (last_digit % 2 != 0) { reversedNum = reversedNum * 10 + last_digit; } input = input / 10; }

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
Java反轉(zhuǎn)int值 - 原則
將輸入int修改(%)10將從最右邊的數(shù)字中提取。例如:(1234%10)= 4
將整數(shù)乘以10將“向左推”,在該數(shù)字的右側(cè)顯示零,例如:(5 * 10)= 50
將整數(shù)除以10將刪除最右邊的數(shù)字。(75/10)= 7
Java反轉(zhuǎn)一個(gè)int值 - 偽代碼:
一個(gè)。提取輸入數(shù)字的最右邊數(shù)字。(1234%10)= 4
灣 取該數(shù)字(4)并將其添加到新的reversedNum中。
C。將reversedNum乘以10(4 * 10)= 40,這會(huì)在您的(4)右側(cè)顯示零。
d。將輸入除以10,(刪除最右邊的數(shù)字)。(1234/10)= 123
即 用步驟123重復(fù)步驟123
Java反轉(zhuǎn)int值 - 工作代碼
public int reverseInt(int input) { long reversedNum = 0; long input_long = input; while (input_long != 0) { reversedNum = reversedNum * 10 + input_long % 10; input_long = input_long / 10; } if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) { throw new IllegalArgumentException(); } return (int) reversedNum;}
在真實(shí)的工作環(huán)境中,你永遠(yuǎn)不會(huì)做這樣的事情。然而,你在沒(méi)有幫助的情況下使用它來(lái)解決問(wèn)題的過(guò)程將能夠解決問(wèn)題的人與那些想要解決問(wèn)題的人區(qū)分開(kāi)來(lái),但除非他們被博客上的好人用勺子喂食,否則就不能分開(kāi)。

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
只需你可以使用它
public int getReverseInt(int value) { int resultNumber = 0; for (int i = value; i !=0; i /= 10) { resultNumber = resultNumber * 10 + i % 10; } return resultNumber; }
您可以將此方法與您想要反轉(zhuǎn)的給定值一起使用。
添加回答
舉報(bào)