Kontrolle ob Eingabe ein bestimmtes Zeichen ist

Dasha

Mitglied
Hi,

Ich habe gerade ein Problem was ich nicht Lösen kann:

Ich gebe einen String ein 1, +, 2, der String wird dann geteilt und in eine Liste geschrieben:
Scanner scanner = new Scanner(System.in);
String[] list = scanner.next().split(",");

Dann wird getestet ob die Elemente der Liste Zahlen sind:

Java:
for(String element : list)
 {
       try  {zahl = Double.parseDouble(element);}

       catch(NumberFormatException e)  
        {  
             if(element.equals("+"))
               {
                  .......
                }

        {
}

Prinzipiell sieht der Code genauso aus nur ich verstehe nicht warum er in catch.
Das "+" nicht finden :-\
Das Plus steht in der Liste aber irgendwas an if(element.equals("+")) scheint falsch zu sein:
Er kommt in den catch-Block aber irgendwie betritt er nie die if-Bedingung

mfg
 
Weil soweit ich das sehe da " +" drinnen steht. Dadurch würde er aber wohl in jeder Runde ins catch springen. Aber viel kann man dir da auch nicht sagen. Das Problem hättest du mit dem Debugger oder ein paar Sys.out's sicher schon lange gelöst.
btw. halte ich das try für falsch, es sieht aus als ob du damit den Programmfluss steuerst und keine Exceptions abfängst.
 
bist du sicher, dass element "+" ist und vielleicht nicht sowas wie " +" also mit Leerzeichen. Könnte evtl. sein 😉
 
Verdammt ihr habt recht :-\
Da stand echt wieder das Leerzeichen drinne.

Ich hatte zuerst mit System.out.println("e"+element+"e"); getestet, da kam wirklich e+e raus.
Dann hatte ich aber einen anderen Fehler beseitigt und dazu einen Teil meines alten Codes mit den Leerzeichenfehler wieder reinkopiert.
 

Zurück
Oben