将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。(需考虑多种不合法的情况尽量转化为合法的)

//华氏温度与摄氏温度转换,编写一个程序,将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。
//要求程序运行时从控制台读入温度值及单位,并输出另一种温度值及单位,例如:若用户输入27 C则
//程序输出 81F;若用户输入96 F,则程序输出36 C(其中C代表摄氏温度,F代表华氏温度),华氏温度与摄氏温度转化的公式为:
//C = 5 (F - 32) / 9
//F = 9 C / 5 + 32

//要求输入的温度值是整数,输出的温度值也是四舍五入后的整数.

package 第三天_练习题;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个温度");
		String str = sc.nextLine();//读取一个字符串,不要写sc.next();虽让也是读取字符串,但是它只是以空格作为分隔符
		str=str.trim().toUpperCase();//去掉前后空格和全转为大写
		if(str!=null && str.indexOf("C")!=-1)//其实str!=null可以不用写了,因为上面的代码说明str不为空!
		{
			//摄氏转华氏
			String numStr=str.substring(0,str.indexOf("C")).trim();//比如7 CCd,结构就是: 7  C
			int num=Integer.parseInt(numStr); //结果就是7
			double doub=9*num/5.0+32;
			int dd=(int)(doub+0.5);//比较优雅的方式,比如3.4+0.5取整还是3,3.5+0.5取整就是4
			int dd2=(int)doub+((int)(doub*10)%10>5?1:0);//先取整在把这个数字乘以10取出个位数是否大于5(用到三目运算符)
			System.out.println(num+"C摄氏(C)转华氏(F)的结果是"+dd+"F");
		}
		else if(str!=null && str.indexOf("F")!=-1)
		{
			String numStr=str.substring(0,str.indexOf("F")).trim();
			int num=Integer.parseInt(numStr);
			double doub=5*(num-32)/9.0;
			int dd=(int)(doub+0.5);
			
			int dd2=(int)doub+(int)(doub*10)%10>5?1:0;
			System.out.println(num+"华氏(F)转摄氏(C)后的结果是"+dd+"C");
		}
		
	}

}



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值