宋的纸鸢
2016-03-03 03:03
采纳率: 100%
浏览 1.3k
已采纳

JAVA初学者,望大神指教

F =((9/5)*C+32); 这句哪里错了吗?为什么那个32加不上?
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • shsongtao 2016-03-03 03:24
    已采纳

    主要是因为5/9和9/5导致的, 5/9按int来算是0,然后加上32 还是32 9/5按int算是1 加上32是69 所以,你要想得到结果 需要((int)((double)(9/5)*C) +32)

    点赞 打赏 评论
  • 宋的纸鸢 2016-03-03 03:16

    图片说明重新写了下,怎么又变前面加不上了

    点赞 打赏 评论
  • shsongtao 2016-03-03 03:25

    强转下9/5的类型 然后计算出的结果 再次强转回来 然后就能得到结果了

    点赞 打赏 评论
  • 毕小宝 2016-03-03 03:28

    主要是因为/这个算数操作的结果,因为你定义的F变量是int整型,所以9/5的结果是1,而5/9返回的是0。还是先确定下你的计算公式吧。

    点赞 打赏 评论
  • b328361744 2016-03-03 03:31

    int 为整形,9/5得1 5/9得0 如果要算上小数,请改为double

    点赞 打赏 评论
  • Jack275 2016-03-03 04:16

    int为整形,所有9/5为1,1*C=37,37+32=69

    点赞 打赏 评论
  • Be_Proud 2016-03-03 04:42

    int 为整形,9/5得1 5/9得0 如果要算上小数,请改为double

    点赞 打赏 评论

相关推荐 更多相似问题