Hey
Ik ben oefeningen aan het maken voor herexamens, maar vind bij deze mijn fout niet. Als ik het programma run en ik voer een temperatuur in Fahrenheit in, zou deze omgezet moeten worden naar Celcius, maar ik krijg bij elke invoer 0 als resultaat. Kan iemand me helpen de fout te vinden? (code is enkel domeinklasse).
Ik ben oefeningen aan het maken voor herexamens, maar vind bij deze mijn fout niet. Als ik het programma run en ik voer een temperatuur in Fahrenheit in, zou deze omgezet moeten worden naar Celcius, maar ik krijg bij elke invoer 0 als resultaat. Kan iemand me helpen de fout te vinden? (code is enkel domeinklasse).
Code:
package domein;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class ExceptionJFrame extends JFrame implements ActionListener {
// GUI-componenten
private JTextField txtInvoer;
private JLabel lblResultaat, lblTekst;
public ExceptionJFrame() {
super();
initGUI();
}
private void initGUI() {
Container c = getContentPane();
c.setLayout(new FlowLayout());
lblTekst = new JLabel("Geef temperatuur in Fahrenheit: ");
lblResultaat = new JLabel("");
txtInvoer = new JTextField(10);
txtInvoer.addActionListener(this);// enter
c.add(lblTekst);
c.add(txtInvoer);
c.add(lblResultaat);
setTitle("Temperatuur convertor");
setSize(400, 200);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == txtInvoer)
{
try{
String input = txtInvoer.getText();
int getal = Integer.parseInt(input);
if (getal < 14 || getal > 104)
{
throw new IllegalArgumentException();
}
lblResultaat.setText("Temperatuur in celcius: "+omzettenNaarCelcius(getal));
}
catch (NumberFormatException exception){
JOptionPane.showMessageDialog(null, "De invoer moet uit cijfers bestaan. Herbegin", "Error", JOptionPane.ERROR_MESSAGE);
}
catch (IllegalArgumentException IO){
JOptionPane.showMessageDialog(null, "De invoer moet tussen 14 en 104 liggen. Herbegin", "Error", JOptionPane.ERROR_MESSAGE);
}
finally{
txtInvoer.setText("");
txtInvoer.requestFocus();
}
}
}
public int omzettenNaarCelcius(int f){
return (int) (5/9) * (f - 32);
}
}
Laatst bewerkt: