2 qq 34114835 qq_34114835 于 2016.03.03 11:03 提问

JAVA初学者,望大神指教

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

7个回答

shsongtao
shsongtao   2016.03.03 11:24
已采纳

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

qq_34114835
qq_34114835 大神,我按着你的方法试了下,为什么还是不行啊((int)((double)(9/5))*C)+32;
2 年多之前 回复
qq_34114835
qq_34114835   2016.03.03 11:16

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

qq_28114533
qq_28114533 回复qq_34114835: (5/9)*C=0
2 年多之前 回复
qq_34114835
qq_34114835 好吧。这个是我把9/5.写成5/9了。还请大神帮忙讲解下原问题
2 年多之前 回复
shsongtao
shsongtao   2016.03.03 11:25

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

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.03 11:28

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

qq_34114835
qq_34114835 回复毕小宝: F =((double)(9/5))*C+32;为什么这样不行
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you 回复宋的纸鸢: 分子分母均为double类型时,结果也会强制转换成小数的。
2 年多之前 回复
qq_34114835
qq_34114835 我刚尝试把(9/5)改成了(9.0/5.0)发现能得出正确结果了。
2 年多之前 回复
qq_34114835
qq_34114835 大神,我试了下这样。可还是不行啊System.out.print("请输入一个摄氏温度:"); Scanner in = new Scanner (System.in); double C = in.nextDouble(); double F; F =((double)(9/5))*C+32;
2 年多之前 回复
qq_34114835
qq_34114835 大神,我试了下这样。可还是不行啊System.out.print("请输入一个摄氏温度:"); Scanner in = new Scanner (System.in); double C = in.nextDouble(); double F; F =((double)(9/5))*C+32;
2 年多之前 回复
b328361744
b328361744   2016.03.03 11:31

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

u012197489
u012197489   2016.03.03 12:16

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

Be_Proud
Be_Proud   2016.03.03 12:42

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
系统可达性研究
自控专业关于可达可控的个人见解,望大神指教。
android开发 重要链接收藏
android知识体系最丰富 整理最简洁的博客-刘望舒 http://liuwangshu.cn/system/
有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
第一种解法: [cpp] view plaincopyprint? /*  *copyright@nciaebupt 转载请注明出处  *问题:有两个序列a,b,大小都为n,序列元素的值任意整数,无序;  *要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。  *比如 a=[100 ,99 ,98
java大神给初学者的建议 发展方向
Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。   在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java
基于Labview的最小二乘中线程序
基于Labview的最小二乘法程序设计初学者,望指教
Android 那些你不可错过的好书
《第一行代码》 如果你初窥Android,或者觉得你的基础还不够牢固,推荐你这本由 郭霖 大神著作的 《第一行代码》。 全书由浅入深、系统全面地讲解了Android软件开发的方方面面。第1章带领你搭建Android开发环境,完成你的第一个Android程序。第2章至第13章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、UI、碎片、广播机制、数据存储
java for循环优化
1.嵌套循环中,应把数据级小的放在外面,数量级大的放在里面。 for (int i = 0; i 10 ; i++) {       for (int j = 0; j 10000000; j++) {                  }   }   外大内小耗时:200192114   外小内大耗时:97995997   2.提取与循环无关的表达式
初学者,望路过的大神指点迷津。
5个数求最值 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述设计一个从5个整数中取最小数和最大数的程序 输入输入只有一组测试数据,为五个不大于1万的正整数 输出输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。 样例输入 1 2 3 4 5 样例输出 1 5
Java文本文档编辑器
用java语言编写的文本文档编辑器,初学者写的,望指教
简单的学生登录系统界面
一个简单的学生信息登录界面,初学者,望交流指教