Java - komplizierte IF-Abfrage
Hallo Leute,
ich sitze seit ner guten Stunde an einem Problem in meinem OR-Programm.
Und zwar habe ich eine IF-Schleife in der ich Textfelder abfrage ob diese keine Zahl und nicht das Zeichen "/" enthält.
Mein Code sieht folgenderweise aus:
if (!((save1.matches("[0-9]")&&((save1.equals("/")))))||
(!(save2.matches("[0-9]")&&((save2.equals("/")))))||
(!(save3.matches("[0-9]")&&((save3.equals("/")))))||
(!(save4.matches("[0-9]")&&((save4.equals("/")))))||
(!(save5.matches("[0-9]")&&((save5.equals("/")))))||
(!(save6.matches("[0-9]")&&((save6.equals("/")))))||
(!(save7.matches("[0-9]")&&((save7.equals("/")))))||
(!(save8.matches("[0-9]")&&((save8.equals("/")))))||
(!(save9.matches("[0-9]")&&((save9.equals("/")))))||
(!(save10.matches("[0-9]")&&((save10.equals("/")))))||
(!(save11.matches("[0-9]")&&((save11.equals("/")))))||
(!(save12.matches("[0-9]")&&((save12.equals("/")))))||
(!(save13.matches("[0-9]")&&((save13.equals("/")))))||
(!(save14.matches("[0-9]")&&((save14.equals("/")))))||
(!(save15.matches("[0-9]")&&((save15.equals("/")))))||
(!(save16.matches("[0-9]")&&((save16.equals("/")))))||
(!(save17.matches("[0-9]")&&((save17.equals("/")))))||
(!(save18.matches("[0-9]")&&((save18.equals("/"))))))
{...}
Ich glaube die Schleife an sich funktioniert teilweise. Allerdings kollidiert sie mit der ersten Schleife in der Abgefragt wird ob in allen Textfelder das Zeichen "/" steht.
Wenn dies der Fall ist kommen beide Fehlermeldungen, das darf natürlich nicht sein.
Es muss auch unbedingt eine Unterscheidung erfolgen zwischen den beiden.
Falls jemand mein Problem verstanden hat wäre ich sehr froh wenn er mir helfen könnte!!
Gruß Informatikerin
Antwort schreiben
Antwort 1 von informatikerin86 vom 22.02.2021, 19:54 Options
Boa bin ich doof... ich sehe schon den Wald vor lauter Bäumen nicht mehr!!
Die && Zeichen müssen natürlich durch || ersetzt werden!!!
So funzt es!!!!
Antwort 2 von if-schleife vom 25.02.2021, 10:50 Options
Antwort 3 von Teerbaby vom 25.02.2021, 10:59 Options
matches("[0-9] | \/")
sollte das selbe bewirken. Schau dir mal ein bisschen was über Regular Expressions an.