Hey,
ich hab ein Problem und zwar möchte ich in meinem Programm bei einer Eingabe nur Zahlen zulassen, anders eine Fehlermeldung ausgeben.
Das hab wollte ich mit einem
if(String eingabe.matches("^[a-zA-Z]*$")){
//Fehlermeldung}
realisieren.
Allerdings ist es so, dass wenn ich nun als erstes eine Zahl eingebe und danach Buchstaben ich nicht in den if sondern in den else Zweig komme...
kann mir da jemand weiterhelfen?
ich hab ein Problem und zwar möchte ich in meinem Programm bei einer Eingabe nur Zahlen zulassen, anders eine Fehlermeldung ausgeben.
Das hab wollte ich mit einem
if(String eingabe.matches("^[a-zA-Z]*$")){
//Fehlermeldung}
realisieren.
Allerdings ist es so, dass wenn ich nun als erstes eine Zahl eingebe und danach Buchstaben ich nicht in den if sondern in den else Zweig komme...
kann mir da jemand weiterhelfen?
Code:
public void einlesen(){
/*In dieser Methode wird der TIN abgefragt und überprüft.
*Außerdem erfolgt die Berechnung der Prüfziffer
*/
int summe=0;
int produkt=0;
int stelle=0;
Scanner t = new Scanner(System.in);
System.out.println("Ihre TIN eingeben: ");
String tinString = t.nextLine();
if(tinString.matches("^[0-9a-zA-Z]*$")){
System.out.println("Keine gültige Eingabe");
einlesen();
}
tinString = tinString.replaceAll(" ", "");//Leerzeichen werden eliminiert
if(tinString.length()!=10){
System.out.println("TIN-Länge falsch");
einlesen();
//Überprüfung der Länge
}
else{
//else-Zweig wenn die Eingabe korrektes Format hatte
System.out.println("Ihre Eingabe (ohne Leerzeichen): "+tinString);
TIN=tinString;
if(speicherZiffernanzahl()==true){
int[]tin = new int[tinString.length()];
for(int i =0; i<tinString.length();i++){
tin[i]=Integer.parseInt(String.valueOf(tinString.charAt(i)));
}
do{
summe=(tin[stelle]+produkt)%10;
if(summe == 0){
summe=10;
}
produkt = (2*summe)%11;
stelle++;
}while(stelle<10);
int pruefziffer = 11-produkt;
if(pruefziffer == 10){
pruefziffer=0;
}
System.out.println("Prüfziffer: "+pruefziffer);
TIN = tinString+pruefziffer;
System.out.println("TIN: (inkl. Prüfziffer) "+ TIN);
}
else{
einlesen();
}
}
}