[問題] 題目求解

看板java作者 (等一個人的回信,沒錯是你)時間5年前 (2018/09/03 17:49), 編輯推噓2(207)
留言9則, 7人參與, 5年前最新討論串1/1
題目是數字交換 4321 -> 1234 我寫的code https://imgur.com/a/pLmBjog run的結果 https://imgur.com/a/rFCvRiE 我的想法是 4321 / 1000 * 1 -> 4 321 / 100 * 10 -> 30 21 / 10 * 100 -> 200 1 / 1 *1000 ->1000 1000+200+30+4 = 1234 但是在30那步驟就歪掉了 30 + 4 = 36? 想問問錯的點在哪? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.223.41.252 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1535968172.A.48B.html

09/03 19:11, 5年前 , 1F
Math.pow回傳double, n除以變成double, 需要轉型整數
09/03 19:11, 1F

09/04 00:43, 5年前 , 2F
了解,感謝
09/04 00:43, 2F

09/05 02:06, 5年前 , 3F
你可以宣告一個 power = 1, 然後每次 power *= 10 就好
09/05 02:06, 3F

09/06 23:02, 5年前 , 4F
喔,這樣就不需要Math.pow了
09/06 23:02, 4F

09/07 12:53, 5年前 , 5F
其實連這都不必:r=0;while(i>0){r=r*10+i%10; i/=10}
09/07 12:53, 5F

09/07 12:53, 5年前 , 6F
就ok 了
09/07 12:53, 6F

09/11 14:52, 5年前 , 7F
return n==0 ? temp : reverse(n/10, temp*10 + n%10)
09/11 14:52, 7F

09/19 02:08, 5年前 , 8F
直接當字串,取char反過來排?會不會更簡單
09/19 02:08, 8F

10/14 00:19, 5年前 , 9F
當字串反過來就好了吧
10/14 00:19, 9F
文章代碼(AID): #1RZGEiIB (java)