JAVA编程,JAVA语句
publicclassTempture{publicstaticvoidmain(Stringargs[]){doubleT;doubleF=0;Scannerin=ne...
public class Tempture {
public static void main (String args[]){
double T;
double F=0;
Scanner in=new Scanner(System.in);
System.out.print("请输入华氏温度");
F=in.nextDouble();
System.out.println(T=((F-32)/(9/5)));
一个将华氏温度转化为摄氏度的小东西。在System.out.println(T=((F-32)/(9/5)));中,(9/5)并不能被运算,这是为什么呢?求解,在线等 展开
public static void main (String args[]){
double T;
double F=0;
Scanner in=new Scanner(System.in);
System.out.print("请输入华氏温度");
F=in.nextDouble();
System.out.println(T=((F-32)/(9/5)));
一个将华氏温度转化为摄氏度的小东西。在System.out.println(T=((F-32)/(9/5)));中,(9/5)并不能被运算,这是为什么呢?求解,在线等 展开
3个回答
展开全部
java的原则是如果参与运算的都是整数,那么结果也是整数。如果有一个浮点数,那么结果是浮点数。这个原则在每一步都是有效的。 所以 9/5 由于都是整数,所以结果取整等于1
修改方法 (9/5.0) 或者(9.0/5)都可以。
修改方法 (9/5.0) 或者(9.0/5)都可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
9/5有被运算,刚好等于1,你应该写成9/5.0或者9.0/5,这样结果的类型才会转换成浮点型。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码中直接写(9/5)会在编译时当作两个int类型数值相除,并给出同是int类型的结果1,所以在你看来是没有运算,实际上它是运算了的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询