Hallo,
für die Hochschule muss ich ein Programm mit grafischer Oberfläche zur Berechnung der Wind-chill-Temperatur anfertigen. Das Programm an sich funktioniert. Nur sollen da leider noch Exceptions rein und an denen scheitert es leider.
Die Formel soll nur gültig sein, wenn Teperatur zw -60 und +30 und die Windgeschwindigkeit über 5 ist.
Leider hab ich absolut keine Idee wie das aussehen soll.
Kann mir bitte jemand helfen?
für die Hochschule muss ich ein Programm mit grafischer Oberfläche zur Berechnung der Wind-chill-Temperatur anfertigen. Das Programm an sich funktioniert. Nur sollen da leider noch Exceptions rein und an denen scheitert es leider.
Die Formel soll nur gültig sein, wenn Teperatur zw -60 und +30 und die Windgeschwindigkeit über 5 ist.
Leider hab ich absolut keine Idee wie das aussehen soll.
Kann mir bitte jemand helfen?
Java:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.InputMismatchException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class WindChill extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField temp = new JTextField(15);
private JTextField geschw = new JTextField(15);
private JTextField ausgabe = new JTextField(15);
private JButton berechnen = new JButton ("Berechnen");
private JButton beenden = new JButton("Beenden");
static double t;
static boolean tt;
static double g;
static boolean gg;
double a;
static String tempeing;
static String geschweing;
public WindChill() {
// Fenster anlegen
super("WTC");
JPanel panel = new JPanel();
setContentPane(panel);
setLayout (new FlowLayout(
FlowLayout.CENTER, 5, 15));
//Labels anlegen und beschriften
JLabel label1 = new JLabel("Lufttemperatur T(a): ");
JLabel label2 = new JLabel("Luftgeschwindigkeit v: ");
JLabel label3 = new JLabel("Berechnete Ausgabe: ");
// Zusammenfügen von Labels und Textfeldern
panel.add(label1); panel.add(temp);
panel.add(label2); panel.add(geschw);
panel.add(label3); panel.add(ausgabe);
// Berechnen-Button
panel.add(berechnen);
berechnen.addActionListener(this);
berechnen.setToolTipText("Klicken um WCT berechnen zu lassen");
setSize(320, 150);
setVisible(true);
// Beenden-Button
panel.add(beenden);
beenden.addActionListener(this);
beenden.setToolTipText("Vorsicht, diese Schaltfläche beendet das Programm!");
setSize(320, 150);
setVisible(true);
}
//Ausgabe der Labels, Textfelder und Beenden-Buttons
@Override
public void actionPerformed(ActionEvent e) {
System.out.print("\nLufttemperatur T(a): " + temp.getText()
+ "\nLuftgeschwindigkeit v: " + geschw.getText());
// + "\nAusgabe :" + ausgabe.setText());
if (e.getActionCommand().equals("Beenden"))
if (beendenDialog() == 0)
System.exit(0);
if (e.getActionCommand().equals("Berechnen"))
tempeing = temp.getText();
t = Double.valueOf(tempeing);
geschweing = geschw.getText();
g = Double.valueOf(geschweing);
a = 13.13 + 0.6215 * t - 11.37 * Math.pow(g, 0.16) + 0.3965 * t * Math.pow(g, 0.16);
String aus = Double.toString(a);
ausgabe.setText(aus);
}
// Dialogfenster beenden
public int beendenDialog() {
Object [] option = {"Ja", "Nein"};
int but = JOptionPane.showOptionDialog(this, "Wollen Sie das Programm wirklich schließen?",
"Tiefschürfende Frage!", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
null, option, option[1]);
return but;
}
public static void main(String[] args) {
new WindChill();
try {
t = Double.valueOf(tempeing);
tt = t < 60;
tt = t >= 30;
}
catch (InputMismatchException e1) {
System.out.println("Temperatur muss zwischen -60 und +30 Grad liegen!" + e1);
}
try {
g = Double.valueOf(geschweing);
gg = g < 5;
}
catch (InputMismatchException e2) {
System.out.println("Geschwindigkeit muss über 5 m/s liegen!" + e2);
}
}
}