Hallo zusammen,
ich bin neu hier und ziemlicher Anfänger. Jetzt habe ich eine GUI (mit Eclipse) programmiert, bei der ich in die Felder Zahlen eingeben kann, und das Feld "Optimale Bestellmenge" soll mir das Ergebnis ausgeben. Leider kommt als Ergebnis immer 0,0 raus. Keine Fehlermeldung ansonsten. Ich habe glaube ich ein Brett vorm Kopf und finde den Fehler nicht.
Wäre toll, wenn mir jemand einen Tip geben kann.
Liebe Grüße Suen
ich bin neu hier und ziemlicher Anfänger. Jetzt habe ich eine GUI (mit Eclipse) programmiert, bei der ich in die Felder Zahlen eingeben kann, und das Feld "Optimale Bestellmenge" soll mir das Ergebnis ausgeben. Leider kommt als Ergebnis immer 0,0 raus. Keine Fehlermeldung ansonsten. Ich habe glaube ich ein Brett vorm Kopf und finde den Fehler nicht.
Wäre toll, wenn mir jemand einen Tip geben kann.
Java:
package paketOptimaleBestellmenge;
import java.awt.BorderLayout;
public class GUIOptimaleBestellmenge extends JFrame {
private double q;
private double a;
private double p;
private double M;
private double x;
private JPanel contentPane;
private JTextField txtBenoetigteMenge;
private JTextField txtPreis;
private JTextField txtBestellkosten;
private JTextField txtLagerkostensatz;
private JTextField txtOptimaleBestellmenge;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUIOptimaleBestellmenge frame = new GUIOptimaleBestellmenge();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GUIOptimaleBestellmenge() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBackground(new Color(255, 255, 51));
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblBenoetigteMenge = new JLabel("Ben\u00F6tigte Menge");
lblBenoetigteMenge.setFont(new Font("Tahoma", Font.PLAIN, 13));
lblBenoetigteMenge.setBounds(10, 26, 135, 23);
contentPane.add(lblBenoetigteMenge);
JLabel lblPreis = new JLabel("Preis pro St\u00FCck");
lblPreis.setFont(new Font("Tahoma", Font.PLAIN, 13));
lblPreis.setBounds(10, 60, 135, 23);
contentPane.add(lblPreis);
txtBenoetigteMenge = new JTextField();
txtBenoetigteMenge.setForeground(Color.BLACK);
txtBenoetigteMenge.setBackground(Color.LIGHT_GRAY);
txtBenoetigteMenge.setBounds(155, 62, 86, 20);
contentPane.add(txtBenoetigteMenge);
txtBenoetigteMenge.setColumns(10);
txtPreis = new JTextField();
txtPreis.setForeground(Color.BLACK);
txtPreis.setBackground(Color.LIGHT_GRAY);
txtPreis.setBounds(155, 28, 86, 20);
contentPane.add(txtPreis);
txtPreis.setColumns(10);
JLabel lblBestellkosten = new JLabel("Bestellkosten ");
lblBestellkosten.setFont(new Font("Tahoma", Font.PLAIN, 13));
lblBestellkosten.setBounds(10, 94, 135, 23);
contentPane.add(lblBestellkosten);
JLabel lbllagerkostensatz = new JLabel("Lagerkostensatz in %");
lbllagerkostensatz.setFont(new Font("Tahoma", Font.PLAIN, 13));
lbllagerkostensatz.setBounds(10, 128, 135, 23);
contentPane.add(lbllagerkostensatz);
txtBestellkosten = new JTextField();
txtBestellkosten.setForeground(Color.BLACK);
txtBestellkosten.setBackground(Color.LIGHT_GRAY);
txtBestellkosten.setBounds(155, 96, 86, 20);
contentPane.add(txtBestellkosten);
txtBestellkosten.setColumns(10);
txtLagerkostensatz = new JTextField();
txtLagerkostensatz.setForeground(Color.BLACK);
txtLagerkostensatz.setBackground(Color.LIGHT_GRAY);
txtLagerkostensatz.setBounds(155, 130, 86, 20);
contentPane.add(txtLagerkostensatz);
txtLagerkostensatz.setColumns(10);
JLabel lblOptimaleBestellmenge = new JLabel("Optimale Bestellmenge");
lblOptimaleBestellmenge.setFont(new Font("Tahoma", Font.BOLD, 14));
lblOptimaleBestellmenge.setBounds(251, 42, 173, 57);
contentPane.add(lblOptimaleBestellmenge);
txtOptimaleBestellmenge = new JTextField();
txtOptimaleBestellmenge.setForeground(Color.BLACK);
txtOptimaleBestellmenge.setBackground(Color.LIGHT_GRAY);
txtOptimaleBestellmenge.setBounds(251, 96, 165, 55);
contentPane.add(txtOptimaleBestellmenge);
txtOptimaleBestellmenge.setColumns(10);
JButton btnBeenden = new JButton("Beenden");
btnBeenden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
btnBeenden.setFont(new Font("Tahoma", Font.BOLD, 13));
btnBeenden.setBounds(10, 175, 106, 46);
contentPane.add(btnBeenden);
JButton btnLeeren = new JButton("Leeren");
btnLeeren.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
txtOptimaleBestellmenge.setText("");
txtLagerkostensatz.setText("");
txtBestellkosten.setText("");
txtPreis.setText("");
txtBenoetigteMenge.setText("");
}
});
btnLeeren.setFont(new Font("Tahoma", Font.BOLD, 13));
btnLeeren.setBounds(128, 175, 106, 46);
contentPane.add(btnLeeren);
JButton btnBerechnen = new JButton("Berechnen");
btnBerechnen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
optimumBerechnen(Double.parseDouble(txtLagerkostensatz.getText()), Double.parseDouble(txtBenoetigteMenge.getText()), Double.parseDouble(txtPreis.getText()), Double.parseDouble(txtBestellkosten.getText()));
txtOptimaleBestellmenge.setText(Double.toString(x));
}
});
btnBerechnen.setFont(new Font("Tahoma", Font.BOLD, 13));
btnBerechnen.setBounds(244, 175, 106, 46);
contentPane.add(btnBerechnen);
}
public double optimumBerechnen(double q, double M, double a, double p){
double x = Math.sqrt((200*M*a)+(p*(q/100)));
return x;
}
}