作者iftrush (等一个人的回信,没错是你)
看板java
标题[问题] 题目求解
时间Mon Sep 3 17:49:27 2018
题目是数字交换
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://webptt.com/cn.aspx?n=bbs/java/M.1535968172.A.48B.html
1F:→ pttworld: Math.pow回传double, n除以变成double, 需要转型整数 09/03 19:11
2F:→ iftrush: 了解,感谢 09/04 00:43
3F:→ Cavalier: 你可以宣告一个 power = 1, 然後每次 power *= 10 就好 09/05 02:06
4F:→ iftrush: 喔,这样就不需要Math.pow了 09/06 23:02
5F:→ adrianshum: 其实连这都不必:r=0;while(i>0){r=r*10+i%10; i/=10} 09/07 12:53
6F:→ adrianshum: 就ok 了 09/07 12:53
7F:推 Aidan79225: return n==0 ? temp : reverse(n/10, temp*10 + n%10) 09/11 14:52
8F:推 sthermit: 直接当字串,取char反过来排?会不会更简单 09/19 02:08
9F:→ f19870421: 当字串反过来就好了吧 10/14 00:19