Hallo Leute,
ich bin noch ein ziemlicher Java-Neuling und bin dabei ein Programm für die Schule zu schreiben, um EAN-Codes zu überprüfen. Zu nächster Woche war es erstmal die Aufgabe, den String, der per Textfeld eingegeben wird, erst zu überprüfen ob er aus 13 Zeichen besteht und dann überprüfen zu lassen, ob in den 13 Zeichen ausversehen ein Buchstabe mit
reingerutscht ist. Ich habe das soweit fast hinbekommen mit Regex. Doch mein Problem ist, dass mein Programm nur einen Fehler zeigt, wenn ein Buchstabe an erster Stelle steht. An den restlichen Stellen im String sagt er gar nichts. Hier mal mein Code:
Ich hoffe ihr könnt mir irgendwie helfen, diesen dämlichen Fehler zu beseitigen...
MfG
ich bin noch ein ziemlicher Java-Neuling und bin dabei ein Programm für die Schule zu schreiben, um EAN-Codes zu überprüfen. Zu nächster Woche war es erstmal die Aufgabe, den String, der per Textfeld eingegeben wird, erst zu überprüfen ob er aus 13 Zeichen besteht und dann überprüfen zu lassen, ob in den 13 Zeichen ausversehen ein Buchstabe mit
reingerutscht ist. Ich habe das soweit fast hinbekommen mit Regex. Doch mein Problem ist, dass mein Programm nur einen Fehler zeigt, wenn ein Buchstabe an erster Stelle steht. An den restlichen Stellen im String sagt er gar nichts. Hier mal mein Code:
Code:
// eigene Methoden
public int ueberpruefung(String eanc){
int fc = 0;
// Überprüfung auf 13 Stellen
// ungleich 13, dann fc = 1;
if (eanc.length() > 13){
textField1.setText("");
fc = 1;
label3.setText("Zu viele Zeichen, EAN bitte erneut Eingeben");
textField1.setText("");
}
if (eanc.length() < 13){
textField1.setText("");
fc = 1;
label3.setText("Zu wenig Zeichen, EAN bitte erneut Eingeben");
textField1.setText("");
}
//wenn fc = 0; dann
// Überprüfung auf Ziffern
if (eanc.matches("^(\\D.*)*$")) {
label3.setText("In dem Barcode ist ein Zeichen enthalten, bitte erneut eingeben");
System.out.println(eanc.matches("[a-zA-Z]")); // Nur Kontrolle
System.out.println("In dem Barcode ist ein Zeichen enthalten, bitte erneut eingeben"); // Kontrolle
}
return fc;
}
// Anfang Methoden
public void button1_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
String eingabe = "";
int fehlercode = 0;
eingabe = textField1.getText();
fehlercode = ueberpruefung(eingabe);
System.out.println(fehlercode);
/*if (eingabe.matches("^(\\D.*)*$")) {
label3.setText("In dem Barcode ist ein Zeichen enthalten, bitte erneut eingeben");
System.out.println(eingabe.matches("[a-zA-Z]")); // Kontrolle
System.out.println("In dem Barcode ist ein Zeichen enthalten, bitte erneut eingeben"); // Kontrolle
}*/
}
Ich hoffe ihr könnt mir irgendwie helfen, diesen dämlichen Fehler zu beseitigen...
MfG