Hallo liebe Community,
eins vorweg: Ich freue mich hier bei euch sein zu dürfen, da ich diese Website schon länger Besuche wenn gerade in meiner Umschulung einige Probleme auftreten. Gerade bin ich dabei privat ein kleines Programm zu schreiben welches mir ganz Simpel Spritkosten ausrechnen soll. Leider bin ich zu blöd um die Strings vernünftig parsen zu lassen und auch eine Kommazahl zu erkennen... Desweiteren kann ich leider nur eine Zahl (Ziffer) eingeben was blöd ist wenn man zwei- oder dreistelligen wert hat. Ich glaube eh das ich viel zu kompliziert arbeite, vielleicht könnt ihr mir ja behilflich sein. Danke im voraus!
eins vorweg: Ich freue mich hier bei euch sein zu dürfen, da ich diese Website schon länger Besuche wenn gerade in meiner Umschulung einige Probleme auftreten. Gerade bin ich dabei privat ein kleines Programm zu schreiben welches mir ganz Simpel Spritkosten ausrechnen soll. Leider bin ich zu blöd um die Strings vernünftig parsen zu lassen und auch eine Kommazahl zu erkennen... Desweiteren kann ich leider nur eine Zahl (Ziffer) eingeben was blöd ist wenn man zwei- oder dreistelligen wert hat. Ich glaube eh das ich viel zu kompliziert arbeite, vielleicht könnt ihr mir ja behilflich sein. Danke im voraus!
Java:
private void berechneButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_berechneButtonMouseClicked
if (evt.getButton() == java.awt.event.MouseEvent.BUTTON1) {
if (eingabe1() == true) {
berechne();
}
// eingabe1();
// eingabe2();
// eingabe3();
// eingabe4();
// eingabe5();
}
}//GEN-LAST:event_berechneButtonMouseClicked
public boolean eingabe1() {
neuKMEingabe.setBackground(Color.WHITE);
boolean eingabe11 = false;
String eingabe1 = neuKMEingabe.getText();
int position = buchstabe(eingabe1);
if (position == -1) {
infoLabel.setText("Bitte eine Zahl eingeben!");
neuKMEingabe.setBackground(Color.RED);
} else if (position == 0) {
infoLabel.setText("Bitte eine Zahl eingeben!");
neuKMEingabe.setBackground(Color.RED);
} else {
neuKMEingabe.setBackground(Color.WHITE);
return eingabe11 = true;
}
return eingabe11;
}
public static int buchstabe(String eingabe) {
if (eingabe.equals(" ")) {
return -1;
}
eingabe = eingabe.toUpperCase();
int position = " 0123456789".indexOf(eingabe);
return position;
}
public void berechne() {
infoLabel.setText("");
neuKMEingabe.setBackground(Color.WHITE);
tankenEingabe.setBackground(Color.WHITE);
preisEingabe.setBackground(Color.WHITE);
tageEingabe.setBackground(Color.WHITE);
altKMEingabe.setBackground(Color.WHITE);
String kmAlt = altKMEingabe.getText();
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
Number kmAltNumber = null;
try {
kmAltNumber = format.parse(kmAlt);
} catch (ParseException e) {
e.printStackTrace();
}
double kmAltDouble = kmAltNumber.doubleValue();
String kmNeu = neuKMEingabe.getText();
Number kmNeuNumber = null;
try {
kmNeuNumber = format.parse(kmNeu);
} catch (ParseException e) {
e.printStackTrace();
}
double kmNeuDouble = kmNeuNumber.doubleValue();
String getankt = tankenEingabe.getText();
Number getanktNumber = null;
try {
getanktNumber = format.parse(getankt);
} catch (ParseException e) {
e.printStackTrace();
}
double getanktDouble = getanktNumber.doubleValue();
String bezahlt = preisEingabe.getText();
Number bezahltNumber = null;
try {
bezahltNumber = format.parse(bezahlt);
} catch (ParseException e) {
e.printStackTrace();
}
double bezahltDouble = bezahltNumber.doubleValue();
String tage = tageEingabe.getText();
Number tageNumber = null;
try {
tageNumber = format.parse(tage);
} catch (ParseException e) {
e.printStackTrace();
}
double tageDouble = tageNumber.doubleValue();
System.out.println(kmAltDouble+kmNeuDouble+getanktDouble+bezahltDouble+tageDouble);
}