Java 学习 on Mac Day 4 踩坑点

韩顺平JAVA入门第67课练习:定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:摄氏温度=5/9*(华氏温度-32),请求出华氏温度234.5度对应的摄氏温度。

写代码:

        double Fscale = 234.5;
        double Cscale = 5 / 9 * (Fscale - 32);
        System.out.println("华氏温度" + Fscale + "对应的摄氏温度为" + Cscale);

输出结果竟然是0.0(踩坑了!);

原因在于5/9在Java运算里等于0.0。尽管已经将Cscale定义为double, 但5/9仍默认是int,结果为0,再去*(234.5-32)仍=0,0再double的结果也只能是0.0;所以需要写成5.0/9;

正确输出结果:华氏温度234.5对应的摄氏温度为112.5

public class ArithmeticOperatorExercise02 {

	public static void main(String[] args) {

		//1.需求:假如还有59天放假,问:合XX个星期零XX天
		//2.思路分析:一个星期有7天,59÷7取余数为“零XX天”
		int days = 59;
		int weeks = days / 7;
		int leftDays = days % 7;
		System.out.println(days + "天 合" + weeks + "个星期零" + leftDays + "天");
		//输出结果:59天 合8个星期零3天   正确

		//定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:
		//摄氏温度=5/9*(华氏温度-32),
		//请求出华氏温度234.5度对应的摄氏温度。
		double Fscale = 234.5;
		double Cscale = 5.0 / 9 * (Fscale - 32);
		//如果不写5.0/9,只写5/9,Java会默认5/9是int类型,结果为0,再去*(234.5-32)仍=0;
		//对计算结果0再double的结果也只能是0.0;
		System.out.println("华氏温度" + Fscale + "对应的摄氏温度为" + Cscale);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值