JAVA 温度转换类

【问题描述】

/*编写Temperature类,表示摄氏和华氏两种温度,具有两个属性:

double型浮点数表示温度值,

字符表示单位,C表示摄氏,F表示 华氏。

具有构造方法:可设置度的数值和计量单位。

具有四个普通方法:

getC()方法,返回对应的摄氏度,结果保留一位小数

getF()方法,返回对应的华氏度,结果保留一位小数

toString()方法,返回一个形如 "Temperature is 30.0F"的字符串。

compareTo()方法:参数是另一个Temperature对象,根据两个对象所表示的温度值大小的比较结果 ,返回一个字符串:等于返回“ equals to ”, 小于返回“ less than ” 大于返回“ greater than ”

在Test类中分别 对比0C和30F,-40C和-40F,98C和212F,并输出相应信息。

要求编程实现Temperature类,使给定的Test类能正常运行,并实现指定的输出内容。*/

public class Test{

       static public void main(String args[]){

              Temperature t1 = new Temperature(0,'C');

              Temperature t2 = new Temperature(30,'F');

              Temperature t3 = new Temperature(-40,'C');

              Temperature t4 = new Temperature(-40,'F');

              Temperature t5 = new Temperature(98,'C');

              Temperature t6 = new Temperature(212,'F');

              String comStr;

              int comInt;

 

              System.out.println("t1: "+t1.toString());

              System.out.println("t2: "+t2.toString());

             

              comStr = t1.compareTo(t2);

              System.out.println("t1 is "+comStr+" t2");

              System.out.println("-");

 

              System.out.println("t3 in F is : "+t3.getF());

              comStr = t3.compareTo(t4);

              System.out.println("t3 is "+comStr+" t4");

              System.out.println("-");

 

              System.out.println("t6 in C is : "+t6.getC());

              comStr = t5.compareTo(t6);

              System.out.println("t5 is "+comStr+" t6");

       }

}

【输入形式】

【输出形式】

t1: Temperature is 0.0C

t2: Temperature is 30.0F

t1 is  greater than  t2

-

t3 in F is : -40.0

t3 is  equals to  t4

-

t6 in C is : 100.0

t5 is  less than  t6

完整代码如下:

import java.util.*;
 public class testc{
    static public void main(String args[]){
        Temperature t1 = new Temperature(0,'C');
        Temperature t2 = new Temperature(30,'F');
        Temperature t3 = new Temperature(-40,'C');
        Temperature t4 = new Temperature(-40,'F');
        Temperature t5 = new Temperature(98,'C');
        Temperature t6 = new Temperature(212,'F');
		String comStr;
		
		System.out.println("t1: "+t1.toString());
		System.out.println("t2: "+t2.toString());		
		
		comStr = t1.compareTo(t2);
        System.out.println("t1 is "+comStr+" t2");
        System.out.println("-");
		
		System.out.println("t3 in F is : "+t3.getF());

        comStr = t3.compareTo(t4);
        System.out.println("t3 is "+comStr+" t4");
        System.out.println("-");

        System.out.println("t6 in C is : "+t6.getC());
        comStr = t5.compareTo(t6);
        System.out.println("t5 is "+comStr+" t6");
		
	}
	
 }
 
 
class Temperature{
	private double num;
	private char str;
	public Temperature(double num,char str){
		this.num=num;
		this.str=str;
	}

	public double getF(){
	//出现空类型还可能是因为普通方法创建时出错,
	//应该将void修改为相应类型double
		num=num*1.8+32;
		str='F';
		return num;
		//return str;
	}
	public double getC(){
		num=(num-32)/1.8;
		str='C';
		return num;
		//return str;
	}
	
	public String toString(){
		return "Temperature is "+this.num+this.str;
	}
	
	
	public String compareTo(Temperature AAA){
		if(str==AAA.str){
			if(num==AAA.num){
				return " equals to ";
			}
			else if(num>AAA.num){
				return " greater than ";
			}
			else{
				return " less than ";
			}
		}
		else if(str=='C'){
			num=num*1.8+32;
			if(num==AAA.num){
				return " equals to ";
			}
			else if(num>AAA.num){
				return " greater than ";
			}
			else{
				return " less than ";
			}
		}
		else{
			num=(num-32)/1.8;
			if(num==AAA.num){
				return " equals to ";
			}
			else if(num>AAA.num){
				return " greater than ";
			}
			else{
				return " less than ";
			}
		}
	}
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一个叶绿体

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

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

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

打赏作者

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

抵扣说明:

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

余额充值