/ / Temperaturkonvertierung unter Verwendung von Objekten in Java - Java

Temperaturkonvertierung mit Objekten in Java - Java

Also schreibe ich gerade ein Programm mit ObjektenWenn der Benutzer eine Anfangstemperatur eingibt, muss das Programm die Temperatur in Celsius berechnen. Dies wäre nur die Benutzereingabe, dann in Fahrenheit und dann in Kelvin. Die Klasse verfügt auch über einen einzigen Konstruktor, der eine Anfangstemperatur akzeptiert, die als Doppelargument bereitgestellt wird. Wenn dieses Argument ist < -273.15, setze es auf -273.15. Ich dachte, ich wäre auf dem richtigen Weg, aber als ich es kompiliert habe, habe ich nicht das gemacht, was ich wollte.

Mit diesem Code gibt mir die Ausgabe

Bitte geben Sie die Anfangstemperatur ein: 20
Die aktuelle Temperatur in Celsius beträgt: 0,0
Die aktuelle Temperatur in Fahrenheit ist: 32.0
Die aktuelle Temperatur in Kelvin ist: 273.15

was stimmt nicht ... irgendwelche tipps?

//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);
}
}

Antworten:

1 für die Antwort № 1

Sie weisen die Werte von zu celsius, fahrenheit, und kelvin bevor du das kennst temperature Wert. Sie möchten, dass Ihr Tester so aussieht

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());
}

Die Operationen werden also nach der Temperatur von durchgeführt initialTemperature ist eingestellt.