[Java] Frage zur Methode split

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von JoE THE, 23. Oktober 2008 .

Schlagworte:
  1. 23. Oktober 2008
    Frage zur Methode split

    Hallo

    Warum kommt Java immer mit dem Fehler, dass in dem Array kein Wert gespeichert sei?

    Code:
    import java.util.Scanner;
    import java.util.GregorianCalendar;
    import java.lang.String;
    
    class Test {
     
     public static void main(String[] args) {
     Scanner k = new Scanner(System.in);
     
     System.out.println("Geben Sie das Geburtsdatum ein (1.11.1988):");
     String birthday = k.next();
     String birthdayArray[] = birthday.split(".");
     System.out.println(birthdayArray[1]);
     System.out.println(birthdayArray[1]);
     System.out.println(birthdayArray[2]);
     }
    }
    Ich gebe ja beim Keyboard einen Wert ein.

    Weiss jemand wie ich dass Problem beheben kann?

    MfG
    Joe The
     
  2. 23. Oktober 2008
    AW: Frage zur Methode split

    willste beim Array nicht erstmal die größe ala

    Code:
    String birthdayArray[] = new Array[3];
    birthdayArray[] = birthday.split(".");
    
    angeben?

    //Edit

    und du solltest dann von 0 -> 2 ins array einlesen udn nicht 1,1,2
     
  3. 23. Oktober 2008
    AW: Frage zur Methode split

    Code:
    import java.util.Scanner;
    import java.util.GregorianCalendar;
    import java.lang.String;
    
    class Test {
    
     public static void main(String[] args) {
     Scanner k = new Scanner(System.in);
    
     System.out.println("Geben Sie das Geburtsdatum ein (1.11.1988");
     String birthday = k.next();
     String[] birthdayArray = birthday.split("\\.");
     System.out.println(birthdayArray[0]);
     System.out.println(birthdayArray[1]);
     System.out.println(birthdayArray[2]);
     }
    }
    
    
    

    2 änderungen

    1) definiere deinen split zeichen "." mit "\\" davor sonst findet er die "." in deinem string nciht wenn du 1.11.1988 eingiebst
    2) das array fängt immer mit dem index 0 an


    //EDIT: arrr zu langsam


    //EDIT2: Doppelpost bereinigung


    ähm die größe rbaucht er nicht angeben das wird soweit mit bekannt von split erleditgt
    das mit nur . als string zum splitten wird nicht gehen, versuchs mal da er in dem string keinen einzelnen string "." findet.

    definierst du allerdings Split("\\.") benutzt er den punkt als trennzzeichen

    selbes währe wenn du | als trenn zeichen willst und zb schriebst 12|12|1950



    kurz gesagt, einige "spezielle" zeichen ausgenommen werden wenn sie als split trennzeichen benutz werden wollen zb.: "." oder "|" ...
     
  4. 23. Oktober 2008
    AW: Frage zur Methode split

    ahaaa...
    Na dass muss man auch mal wieder wissen...
     
  5. 23. Oktober 2008
    AW: Frage zur Methode split

    ja, bei anderen sprahcen kannst du den split "wert" sag ich jetzt mal.. auch als char angeben da gibt es dan diese probleme nicht so sehr, hat dafür wieder andere nachteile
     
  6. 28. Oktober 2008
    AW: Frage zur Methode split

    Ist zwar schon gelöst, das Problem aber ich wollte noch etwas anmerken, falls das noch jemand liest.
    Der Punkt (".") als Trennzeichen funktioniert nicht, weil das Trennargument bei Split als regulärer Ausdruck behandelt wird. Und in einem regulären Ausdruck bedeutet der Punkt, das an dieser stelle alle Zeichen stehen können.

    Um dem entgegenzuwirken, werden die Backslashes ("\\") davorgesetzt.
    Bei "normalen" Zeichen, die in regulären Ausdrücken keine besondere bedeutung haben, brauch man das natürlich nicht machen.

    Chillikid
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.