Hallo zusammen,
ich versuche mich gerade an einem Programm zur Montageberechnung, ein Screenshot davon hänge ich bei. Jedoch funktieniert leider etwas nicht. Ich erhalte immer denselben Fehler, da er anscheinend mit den Variablentypen ein Problem hat. Im Normallfall sollte das Programm Zahlen aus dem JformattetTextField auslesen, berechnen und wieder ausgeben.
Ich erhalte aber immer den Fehler :
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Float
at Frame1$2.actionPerformed(Frame1.java:253)
Kann mir jemand vielleicht einen Lösungshinweis geben? Danke schonmal im Voraus
ich versuche mich gerade an einem Programm zur Montageberechnung, ein Screenshot davon hänge ich bei. Jedoch funktieniert leider etwas nicht. Ich erhalte immer denselben Fehler, da er anscheinend mit den Variablentypen ein Problem hat. Im Normallfall sollte das Programm Zahlen aus dem JformattetTextField auslesen, berechnen und wieder ausgeben.
Ich erhalte aber immer den Fehler :
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Float
at Frame1$2.actionPerformed(Frame1.java:253)
Kann mir jemand vielleicht einen Lösungshinweis geben? Danke schonmal im Voraus
Code:
JButton btnBerechnen = new JButton("Berechnen");
btnBerechnen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { // bei drücken von Berechnen:
// if (check_spesen.isSelected()) {
// do something...
// }
// else {
// do something else...
// }
//int v = Integer.parseInt(textField.getText());
//int m = Integer.parseInt(textField_1.getText());
//double tag = Double.parseDouble(textField_6.getText());
//String ta3g = textField_6.getText();
JFormattedTextField f14 = new JFormattedTextField(new DecimalFormat("#.00"));
f14.setBounds(47, 301, 164, 34);
frame.getContentPane().add(f14);
float v = (float) f1.getValue();
float m = (float) f2.getValue();
float tag = (float) f3.getValue();
float fahrzeit = (float) f4.getValue();
float km = (float) f5.getValue();
float std_v = (float) f6.getValue();
float std_m = (float) f7.getValue();
float ustd_v = (float) f8.getValue();
float ustd_m = (float) f9.getValue();
float spesen_v = (float) f10.getValue();
float spesen_m = (float) f11.getValue();
float nacht = (float) f12.getValue();
float sprit = (float) f13.getValue();
float spesen = 0;
float fahrkosten = 0;
// Tage werden zur nächsten Ganzzahl abgerundet
float tagv = (std_v*8)+(ustd_v*2); // Kosten pro Tag pro Vorarbeiter
float tagm = (std_m*8)+(ustd_m*2); // Kosten pro Tag pro Mitarbeiter
float nachti = 0;
float ufahrzeit = 0;
float spritkosten = 0;
float personalkosten = 0;
float p1 = 0;
float gesamt = 0;
float tagi = 0;
//Spesenberechnung
spesen = (tag-1) * ((spesen_v * v)+(spesen_m * m)); // einfache Spesenberechnung
if (tag>1 && tag!=tagi)
{
nachti = ((v + m) * nacht) * tagi; // Variable nachti liefert Übernachtungskosten
}
else
{
nachti = ((v + m) * nacht) * (tagi-1); // Variable nachti liefert Übernachtungskosten
}
if (fahrzeit>8)
{
ufahrzeit = fahrzeit - 8;
fahrkosten= ((std_v*8)+(ustd_v * ufahrzeit)*v)+((std_m*8)+(ustd_m * ufahrzeit)*m); // Fahrrtt hin und zurück Kosten --> Variable fahrkosten
}
else {
fahrkosten= ((std_v*fahrzeit)*v)+((std_m*fahrzeit)*m); // Fahrt hin und zurück Kosten --> Variable fahrkosten ohne Überstunden
}
spritkosten = km * sprit; // Spritkosten gibt kosten aus
if (tag!=tagi)
{
p1=(tag - tagi)*10;
personalkosten=(((tagv*v)+(tagm*m))*tagi)+(((std_v*p1)*v)+((std_m*p1)*m));
}
else
{
personalkosten=(((tagv*v)+(tagm*m))*tagi);
}
gesamt = spesen + nachti + fahrkosten + spritkosten + personalkosten;
f14.setValue(gesamt);
}
});
btnBerechnen.setBounds(96, 207, 89, 23);
frame.getContentPane().add(btnBerechnen);