标签:java
//华氏温度与摄氏温度转换,编写一个程序,将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。//要求输入的温度值是整数,输出的温度值也是四舍五入后的整数.
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"); } } }
将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。(需考虑多种不合法的情况尽量转化为合法的)
标签:java
原文地址:http://blog.csdn.net/u012110719/article/details/42713759