当前位置: 首页 > 知识库问答 >
问题:

在java中使用对象进行温度转换

杜霍英
2023-03-14

所以我目前正在使用用户输入初始温度的对象编写一个程序,然后程序必须将其计算为摄氏度,这只是用户输入,然后是华氏度,然后是开尔文。该类还有一个单一的构造函数,它接受作为双参数提供的初始温度。如果这个参数是

使用此代码,输出给我

请输入初始温度:20
当前温度以摄氏度为单位是:0.0
当前温度以华氏为单位是:32.0
当前温度以开尔文为单位是:273.15

这是不对的。。。有什么建议吗?

//blueprint
public class TemperatureC{
    private double temperatureC;

    public TemperatureC(){
        if(temperatureC<-273.15){
            temperatureC = -273.15;}
        else{}
    }

    public void setC(double c){
        temperatureC = c;
    }
    public double getC(){return temperatureC;}
    public double getF(){return (temperatureC * 1.8) + 32;}
    public double getK(){return temperatureC + 273.15;}
}   



//code
import java.util.Scanner;

public class TemperatureTester{
    public static void main(String[] args){

        TemperatureC temp = new TemperatureC();

        double initialTemperature;
        double celsius=temp.getC();
        double fahrenheit=temp.getF();
        double kelvin=temp.getK();

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Please enter the initial temperature: ");
        initialTemperature = keyboard.nextDouble();


        //TemperatureC temp = new TemperatureC();

        System.out.println("The current temperature in Celsius is: " + celsius);
        System.out.println("The current temperature in Fahrenheit is: "+fahrenheit);
        System.out.println("The current temperature in Kelvin is: "+kelvin);    
    }   
}

共有1个答案

魏松
2023-03-14

在知道温度值之前,您正在分配摄氏度华氏度开尔文的值。你想让你的测试人员看起来更像这样吗

public static void main(String[] args) {
  TemperatureC temp = new TemperatureC();
  double initialTemperature;
  Scanner keyboard = new Scanner(System.in);
  initialTemperature = keyboard.nextDouble();
  temp.setC(initialTemperature);

  System.out.println("The current temperature in Celsius is: " + temp.getC());
  System.out.println("The current temperature in Fahrenheit is: "+temp.getF());
  System.out.println("The current temperature in Kelvin is: "+temp.getK());
}

因此,在设置了initialTemperature的温度后,操作现在就完成了。

 类似资料:
  • 我对Java还是个新手,在理解OOP方面更是新手,所以请不要取笑我的不理解。 我试图设计一个程序,让用户输入华氏或摄氏度的温度,然后程序将确定另一个测量中的温度。 有没有人能给我一些建议,告诉我我的方向是否正确? 这是我到目前为止所做的,请记住,这是我对OOP的第一次尝试,所以它可能看起来一团糟。

  • 问题内容: 我正在尝试将华氏度转换为摄氏温度。现在当我使用此方法时出现错误: 然后再次尝试给定 (5.0), 那么为什么工作? 问题答案: 值“ 5”和“ 9”是整数,并且将5/9视为,这是为什么您得到错误答案的原因。当两个整数相除时,答案是自动的。有必要将“5”和“ 9”之一写为5.0和9.0 更好的做法是始终将as 和or都写为and。 由于乘法和其他运算大多是递归的,因此该语句也可以正常工作

  • 我正在尝试使用jackson api中的ObjectMapper类将下面的JSON转换为Java对象,但我收到一个错误。我的java类应该是什么样子? 如果我有下面的json,我可以将其转换为java对象。 Json:

  • Python3 实例 以下实例演示了如何将摄氏温度转华氏温度:# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 用户输入摄氏温度 # 接收用户输入 celsius = float(input('输入摄氏温度: ')) # 计算华氏温度 fahrenheit = (celsius * 1.8) +

  • 我正在做关于java编程的小练习。 基本上,该应用程序允许用户输入华氏温度并显示摄氏当量,或输入摄氏温度并显示华氏当量。该应用程序包括一个摄氏度方法,返回相当于华氏温度的摄氏度。该应用程序还包括一个华氏度方法,该方法返回相当于摄氏度的华氏度。 以下是我的完整代码: 好消息是包括方法在内的代码正在工作。用户可以输入选择1或2,然后输入温度数字并以摄氏度或华氏度显示。但如果用户输入选择3,程序将显示“

  • 我正在做一个项目,需要我使用TinkerKit热敏电阻传感器来获得室温。检测后,Arduino BT板必须通过蓝牙将串行数据发送回Android手机。温度需要在Celcius的手机屏幕上显示。 我已经使串行通信链接工作。但热敏电阻的读数似乎很奇怪。它的读数是173/174/175,但我不确定它的读数是华氏度还是摄氏度(因为我找不到任何数据表和热敏电阻读数装置的详细信息)。 我必须包括任何带数值的温