Java :: Aufgabe #225 :: Lösung #1
4 Lösungen
#225
Celsius und Fahrenheit Rechner
Anfänger - Java
von Gelöschte Person
- 31.03.2019 um 15:41 Uhr
Schreibe ein Programm das Celsius in Fahrenheit umrechnet und umgekehrt.
#1
von nOrdan (1160 Punkte)
- 06.06.2019 um 23:49 Uhr
Anmerkung: Kann man bestimmt noch optimieren was die Ausgabe der Ergebnisse angibt, habe die Ergebnisse jetzt auf 2 Nachkommastellen runden lassen
Main-Klasse:
Java-Code
Die Methoden die ich aus meinem eigenem Methodensammlung package benutzt habe:
Java-Code
Main-Klasse:
import Methodensammlung.Methoden;
import java.text.DecimalFormat;
/**
* Celsius kann in Fahrenheit und Fahrenheit in Celsius umgerechnet
*
* @author (nOrdan)
* @version (06.06.2019)
*/
public class FahrenheitCelsiusUmrechner
{
Methoden m = new Methoden();
DecimalFormat df = new DecimalFormat("0.00");
public static void main(String [] args)
{
FahrenheitCelsiusUmrechner fcu = new FahrenheitCelsiusUmrechner();
fcu.inputs();
}
private void inputs()
{
boolean valid1 = false;
boolean valid2 = false;
double gradzahl = 0;
while (valid1 == false)
{
String input1 = m.userInput("Geben sie ein ob sie Celsius (c) oder Fahrenheit (f) eingeben wollen");
m.errorIntInput(input1);
try
{
input1 = input1.toLowerCase().replaceAll("\\s+","");
if (input1.equals("c"))
{
valid1 = true;
while (valid2 == false)
{
input1 = m.userInput("Geben sie die Gradzahl in Celsius ein");
m.errorIntInput(input1);
try
{
gradzahl = m.parseDouble(input1);
if (gradzahl < -273.15)
{
m.errorMessage("-273.15°C ist der absolute Nullpunkt, es kann nicht kälter werden. Bitte geben sie einen Wert größer als -273.15 ein","Scientifically wrong");
continue;
}
valid2 = true;
berechneFahrenheit(gradzahl);
}
catch(Exception e)
{
m.errorMessage("Invalid user input","Invalid input");
}
}
}
else if (input1.equals("f"))
{
valid1 = true;
while (valid2 == false)
{
input1 = m.userInput("Geben sie die Gradzahl in Fahrenheit ein");
m.errorIntInput(input1);
try
{
gradzahl = m.parseDouble(input1);
if (gradzahl < -459.67)
{
m.errorMessage("-459.67°F ist der absolute Nullpunkt, es kann nicht kälter werden. Bitte geben sie einen Wert größer als -459.67 ein","Scientifically wrong");
continue;
}
valid2 = true;
berechneCelsius(gradzahl);
}
catch(Exception e)
{
m.errorMessage("Invalid user input","Invalid input");
}
}
}
else
{
continue;
}
}
catch(Exception e)
{
m.errorMessage("Invalid user input","Invalid input");
}
}
}
private void berechneFahrenheit(double gradzahl)
{
double fahrenheit = gradzahl * 9 / 5 + 32;
m.informationMessage(gradzahl + "°C sind auf zwei Nachkommastellen gerundet " + df.format(fahrenheit) + "°F","Ergebnis");
}
private void berechneCelsius(double gradzahl)
{
double celsius = (gradzahl - 32) * 5 / 9;
m.informationMessage(gradzahl + "°F sind auf zwei Nachkommastellen gerundet " + df.format(celsius) + "°C","Ergebnis");
}
}
Die Methoden die ich aus meinem eigenem Methodensammlung package benutzt habe:
public String userInput(String message)
{
return JOptionPane.showInputDialog(message);
}
public double parseDouble(String input)
{
return Double.parseDouble(input);
}
public void errorIntInput(String input)
{
if (input == null)
{
System.exit(0); //Drückt der User auf abbrechen wird null zurück gegeben und das Programm wird beendet
}
else if (input.isEmpty() == true)
{
}
}
public void errorMessage(String message,String errorName)
{
JOptionPane.showMessageDialog(null,message,errorName,JOptionPane.ERROR_MESSAGE);
}
public void informationMessage(String message,String informationName)
{
JOptionPane.showMessageDialog(null,message,informationName,JOptionPane.INFORMATION_MESSAGE);
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
