Variablen String mit split-Funktion aufteilen

Diskutiere String mit split-Funktion aufteilen im Allgemeine Java-Themen Bereich.
Bitte aktiviere JavaScript!
R

ruphyy

Guten Tag,
ich hätte eine Frage bezüglich der split-Funktion für Strings.
Angenommen ich gebe in die Konsole einen Satz ein, diesen lese ich anschließend in String = "satz" ein.
Nun ist das Problem aber, dass die die Anzahl der Wörter variiert weshalb ich mich Frage wie ich dem Programm sage,
dass, wenn der Satz als Beispiel 7 Wörter hat, auch passend 7 Strings erstellt werden um diese einzelnen Wörter zu speichern.

Kann mir da jemand behilflich sein?

MfG
 
H

httpdigest

Wenn ein Wort bei dir einfach nur alle Zeichen (außer Leerzeichen) getrennt von Leerzeichen sind und du Split mit "trenne an Leerzeichen" verwendest, dann hast du doch die Wörter in dem durch String.split() zurückgegebenen Array... Wieso willst du für jedes Wort nochmal individuelle Variablen deklarieren? Das macht absolut keinen Sinn.
 
R

ruphyy

Tut mir leid, habe Arrays in der Schule noch nicht durch genommen, bin somit absoluter Anfänger :')
Ich brauche bei jedem Wort den letzten Buchstaben/Sonderzeichen um aus diesen eine Zeichenkette
zu bilden die ein Passwort darstellen soll.
 
krgewb

krgewb

Java:
public class Hauptprogramm {

    public static void main(String[] args) {

        String satz = "Tut mir leid, habe Arrays in der";
        String[] meinArray = satz.split(" ");

        for (int i = 0; i < meinArray.length; i++) {
            System.out.println(meinArray[i]);
        }
    }
}
Ausgabe:
Tut
mir
leid,
habe
Arrays
in
der
 
J

JustNobody

Wenn ihr noch keine Arrays hattet, dann ist die Frage, was Du überhaupt benutzen sollst. Wenn die Aufgabe nur ist, dass nur die Zeichen vor den Leerzeichen ausgegeben werden sollen, dann kannst Du doch ohne eine Split Funktion durchgehen ...

Überlege Dir doch einfach, wie DU das machen würdest... Schreibe Zeichen auf ein Zettel und dann suche jeweils den Vorgänger zu einem vorgegebenen Zeichen.

==> Du gehst dann doch Zeichen für Zeichen durch. Wenn es das gesuchte Zeichen ist, dann nimmst Du den Vorgänger.

Kannst Du eine Schleife schreiben, die einen String Zeichen für Zeichen durchgeht?
Hast Du eine Möglichkeit, dass Zeichen vor dem gegebenen Zeichen zu bekommen?

Also im Augenblick drängt sich mir der Eindruck auf, dass ein Problem aufgegeben wurde, welches Du mit Möglichkeiten lösen willst, die noch nicht bekannt sind. Dabei soll bestimmt nur Bekanntes zur Vertiefung angewendet werden ....
 
Kirby_Sike

Kirby_Sike

Du könntest es z.B. so lösen:

Java:
String test = "Hallo ich lerne Java", result = "";
        for(int i = 0; i < test.length();i++){
            if(test.charAt(i) == ' '){   // Wenn der Character an i ein Leerzeichen ist, konkateniere den vorheringen Character auf den String
                result += test.charAt(i-1);
            }else if(i == test.length()-1) {  // Wenn der Zähler i gleich dem Index des letzten Buchstaben ist, konkateniere ebenfalls auf den String
                result += test.charAt(i);
            }
        }
        System.out.println(result);
 
J

JustNobody

Das ist der beschriebene Ansatz.

- Ein Problem sehe ich in dem Code: Was passiert, wenn der erste Buchstabe ein Leerzeichen ist?
- Eine Optimierung: Musst Du in der Schleife diese Prüfung mit dem letzten Zeichen machen? Du kannst die Zuweisung des letzten Zeichens noch aus die Schleife raus nehmen.
 
Kirby_Sike

Kirby_Sike

Das ist der beschriebene Ansatz.

- Ein Problem sehe ich in dem Code: Was passiert, wenn der erste Buchstabe ein Leerzeichen ist?
- Eine Optimierung: Musst Du in der Schleife diese Prüfung mit dem letzten Zeichen machen? Du kannst die Zuweisung des letzten Zeichens noch aus die Schleife raus nehmen.
Ja gut du hast natürlich recht ;)

Java:
        String test = " Hallo ich lerne Java", result = "";
        for(int i = 1; i < test.length();i++){
            if(test.charAt(i) == ' '){
                result += test.charAt(i-1);
            }
        }
        result += test.charAt(test.length()-1);
        System.out.println(result);
 
Thema: 

String mit split-Funktion aufteilen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben