黑马程序员技术交流社区

标题: 小程序求解答 [打印本页]

作者: BlueSun    时间: 2015-9-2 11:18
标题: 小程序求解答
你身上有一笔钱,你遇到第一个乞丐的时候,给了你身上钱的一半再多加2元,当你遇到第二个乞丐的时候,又给了你身上钱的一半再多加4元,这时候你身上只有5元,问你原来多少钱?
  1. public static void main(String[] args)

  2. {
  3. int num=0;

  4. while(true)
  5. {
  6. num++;

  7. int a=num/2+2;

  8. int b=(num-a)/2+4;

  9. if(num==a+b+5)
  10. break;


  11. }
  12. System.out.println(num);


  13. }
复制代码

我这个程序错在哪了,答案因该是40,我这程序37
作者: freehello    时间: 2015-9-2 11:39
将int改为double,因为钱分一半,有可能是小数
作者: lostyou    时间: 2015-9-2 11:48
你这个 Int类型的做除法运算会取整 所以37就是符合题目的答案 循环结束 答案就是37
作者: lostyou    时间: 2015-9-2 11:50
freehello 发表于 2015-9-2 11:39
将int改为double,因为钱分一半,有可能是小数

改小数也不行的 兄弟!
作者: freehello    时间: 2015-9-2 11:57
lostyou 发表于 2015-9-2 11:48
你这个 Int类型的做除法运算会取整 所以37就是符合题目的答案 循环结束 答案就是37 ...

不符合,题目说分一半,没说不能分成小数
作者: freehello    时间: 2015-9-2 11:58
本帖最后由 freehello 于 2015-9-2 12:00 编辑
lostyou 发表于 2015-9-2 11:50
改小数也不行的 兄弟!

可以啊,我刚试的,答案40.0,记得全改
作者: fmi110    时间: 2015-9-2 12:32
二楼正解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2