String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll?

Guten Tag,
irgendwie funktioniert der String split nicht wie er soll. Bin gespannt auf eure Erklärung oder Lösung.
Ich habe ein JLabel namens "display" in dem eine Addition-Rechenaufgabe angezeigt wird.
Beispiel 1: 5+3
Beispiel 2: 2+67
Beispiel 3: 45+2

Beispiel 1 und Beispiel 2 funktioniert wie es soll.
Beispiel 3 funktioniert nicht. Irgendwie funktioniert es nicht wenn mehr als 1 ziffer vor dem "+" zeichen steht. Es kommt keine Fehlermeldung, die Konsole zeigt einfach nichts an,

String[]Anzeige = display.getText().split("\\+");
String zahl1 = Anzeige[0];
String zahl2 = Anzeige[1];
ergebnis = Integer.parseInt(zahl1) + Integer.parseInt(zahl2);
System.out.println(zahl1 + " + " + zahl2 + " = " + ergebnis);

Bestimmt hat einer ein Tipp oder eine Erklärung dafür.

Vielen Dank im Voraus.

Grüße Andy
 
Danke für die schnelle Antwort. Ich habe gerade noch ein KSKB erstellt und dabei festgestellt das die split-Funktion jedenfalls im KSKB funktioniert. Ich werde mal versuchen ob ich aus im Debug modus drauf komme.

package test;

public class test {

public static void main(String[] args) {
String Beispiel1, Beispiel2, Beispiel3;
Integer ergebnis;
String [] Anzeige;
String zahl1;
String zahl2;

Beispiel1 = "5+3";
Beispiel2 = "5+260";
Beispiel3 = "25+4";

//Beispiel1
Anzeige = Beispiel1.split("\\+");
zahl1 = Anzeige[0];
zahl2 = Anzeige[1];
ergebnis = Integer.parseInt(zahl1) + Integer.parseInt(zahl2);
System.out.println(zahl1 + " + " + zahl2 + " = " + ergebnis);

//Beispiel2
Anzeige = Beispiel2.split("\\+");
zahl1 = Anzeige[0];
zahl2 = Anzeige[1];
ergebnis = Integer.parseInt(zahl1) + Integer.parseInt(zahl2);
System.out.println(zahl1 + " + " + zahl2 + " = " + ergebnis);

//Beispiel3
Anzeige = Beispiel3.split("\\+");
zahl1 = Anzeige[0];
zahl2 = Anzeige[1];
ergebnis = Integer.parseInt(zahl1) + Integer.parseInt(zahl2);
System.out.println(zahl1 + " + " + zahl2 + " = " + ergebnis);
}
}
 
public class test { - hier wird Test groß geschrieben.
String Beispiel1, Beispiel2, Beispiel3; - Variablennamen werden klein geschrieben.
Variablen werden deklariert wenn sie benötigt werden, nicht am Anfang einer Methode.
Java ist nicht VB-Script!
 
Danke für die Erinnerung die Namenskonventionen einzuhalten. Die sind wichtig und werden gerne unterschätzt.

Im Übrigen habe ich das Problem gefunden und das lag wo ganz anderst, wie von LimDul vermutet.

Um herauszufinden welchen Rechenoperation im JLabel vorliegt habe ich mit indexOf() gearbeitet.
If(display.getText().indexOf("+") == 1 ich habe fälschlicherweise gedacht mit index of wird festgestellt wie of ein zeichen vorkommt.
indexOf() gibt allerdings die Position in der das Zeichen liegt an (beginnend von 0).
Ich musste also nur folgendes Schreiben
If(display.getText().indexOf("+") >0 damit alles funktioniert.
 

Zurück
Oben