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