indexOf weiter lesen

Status
Nicht offen für weitere Antworten.

fantrixx

Bekanntes Mitglied
Hi all,

ich ahbe zur zeit ein kleines Problem was ihr bestimmt schnell lösen könnt.
Ich abe eine TXT Date in der ein Text steht. Nun möchte ich die Postionen der Leerzeichen immer wieder in einen INT Array abspeichern.
Ein Kleines bsp.:

Text = "Hallo das ist ein Test"

So nun sollte man im array a[1] die nummer 5 stehen na zweiter Stelle die 9 u.s.w.
Bei mir ist das Problem das er bei mir in jeden Array Platz eine 5 reinschreibt ist auch Logisch weil er immer wider von anfang des Textes anfängt zu lesen. Und dadurch alle array Plätze mit der 5 belegt.
Meine Frage ist es wie ich es hinbekomme das er den Gesamten Text durchliesst und dann immer die Postionen der Leerzeichen in einen array schreibt ?

So weit bin ich schonmal :D

Code:
         String g1 = "";
         g1 = gesamtText;
         //zählen der Leerzeichen
         for(int i = 0; i <= 8; i++) {
                 a1[i] = g1.indexOf(" ");
         }

schonmal danke im vorraus ;)
 

The_S

Top Contributor
du kannst indexOf noch einen Integer mitgeben. Der zeigt dann an ab wo weitergelesen werden soll.
 

fantrixx

Bekanntes Mitglied
habe den Code geändert:

Code:
String g1 = "";
         g1 = gesamtText;
         //zählen der Wörter auf gleiche
         for(int i = 0; i <= 8; i++) {
                 a1[i] = g1.indexOf(" ", a1[i]+1);
         }
         System.out.println(a1[1]);
         System.out.println(a1[2]);

und es kamm raus

5
5

für System.out.println

was mache ich Falsch ?
 

The_S

Top Contributor
Code:
public class Test {
	
	public static void main(String[] args) {
		
		String satz = "Blup foo bar";
		for (int i = 0; i < satz.lastIndexOf(" ");) {
			i = satz.indexOf(" ", i + 1);
			System.out.println(i);
		}
	}
}
 

fantrixx

Bekanntes Mitglied
Cool ! Danke !
ich habe den Code geändert und wollte sie Zahlen in ein Array schreiben:

Code:
         for (int i = 0; i < g1.lastIndexOf(" ");) {
             a1[i] = g1.indexOf(" ", a1[i] + 1);
             System.out.println(a1[i]);
         }

Das Problem hierbei ist das er das Unendlich oftt weiter macht.

EDIT: Als System.out.println kam raus.

Code:
5
9
13
17
26
30
34
40
44
49
53
60
-1
5
9
13
17
26
30
34
40
44
49
53
60
-1
5
9
13
17
26
30
34
40
44
49
53
60
 

The_S

Top Contributor
Code:
public class Test {
	
	public static void main(String[] args) {
		
		String satz = "Blup foo bar";
		int[] array = new int[satz.split(" ").length];
		for (int i = 0, j = 0; i < satz.lastIndexOf(" ");) {
			i = satz.indexOf(" ", i + 1);
			array[j] = i;
			System.out.println(i);
		}
	}
}

Ich würde hier aber kein Array sondern ne Collection verwenden, da du beim Array die Größe vorher bestimmen musst.
 

L-ectron-X

Gesperrter Benutzer
Noch ne Lösung mit einem Array:
Code:
String g1 = "Hallo das ist ein Test";

int[] a1 = new int[g1.length()];
int x = 0;

for(int i = 0, j = g1.length(); i < j; i++) {
    if(g1.charAt(i) == ' ')
       a1[x++] = i;
}

Allerdings ist die nicht 100%ig sauber.
 
B

bygones

Gast
Code:
int[] a1 = new int[g1.length()];
nur dass du damit natürlich einen zu großen array initialisierst....

andere möglichkeit.
per split nach leerzeichen trennen. GRöße des enstehenden Arrays gibt die Anzahl der Leerzeichen im Text an (bzw. length -1) - dann den array durchlaufen und jeweils die länge der elemente aufaddieren -> ergibt die positionen der leerzeichen
 

mikachu

Top Contributor
L-ectron-X hat gesagt.:
Noch ne Lösung mit einem Array:
Code:
String g1 = "Hallo das ist ein Test";

int[] a1 = new int[g1.length()];
int x = 0;

for(int i = 0, j = g1.length(); i < j; i++) {
    if(g1.charAt(i) == ' ') {
       a1[x++] = i;   // hier ist eine zeile gespart :D
    }
}
 

norman

Top Contributor
L-ectron-X hat gesagt.:
Noch ne Lösung mit einem Array:
Code:
String g1 = "Hallo das ist ein Test";

int[] a1 = new int[g1.length()];
int x = 0;

for(int i = 0, j = g1.length(); i < j; i++) {
    if(g1.charAt(i) == ' ')
       a1[x++] = i;
}
das hatte ich auch eben mal, aber dann hast du eine menge unschöner 0en im array stehen.


daher, wie hobbit bereits vorschlug:
Code:
		public static Vector<Integer> getLeerstellen(String s){
			Vector<Integer> leerstellen = new Vector<Integer>();
			
			for(int i = 0; i <= s.lastIndexOf(' '); i++) {
                if (s.charAt(i)==' ') {
                	leerstellen.add(i);
                }
			}
			// System.out.print(leerstellen);
			return leerstellen;			
		}
 

L-ectron-X

Gesperrter Benutzer
OK, dann verbessere ich mal... Wenn's ein Array sein muss:
Code:
String g1 = "Hallo das ist ein Text";
int[] a1 = new int[g1.split(" ").length-1];
int x = 0;

for(int i = 0; i < g1.length(); i++) {
   if(g1.charAt(i) == ' ')
      a1[x++] = i;
}

Ansonsten wie oben erwähnt eine Liste (ArrayList/Vecor).
 

fantrixx

Bekanntes Mitglied
Ich habe komisch Weise in a1 nichts mehr stehen fast du noch nullen die Nullte Stelle ist eine 60.
Also laut der zweiten for-schleife!!!

Code:
String g1 = "";
         g1 = gesamtText;
         a1 = new int[g1.split(" ").length];
         //zählen der Wörter auf gleiche
         for (int i = 0, j = 0; i < g1.lastIndexOf(" ");) {
             i = g1.indexOf(" ", i + 1);
             a1[j] = i;
             //System.out.println(i);
         }
         String[] wort = new String [a1.length];
         for(int i = 0, j = 0; i <= a1.length; i = i + 2, j++) {
                 System.out.println(a1[i]);
                 //wort[j] = g1.subString(a1[i], a1[i]);
                 //System.out.println(wort[j]);
         }

Weiss eienr woran das leigt ich will ja auch in den array a1 in jeder Position die position der Leerzeichen haben.

Also wie es scheint behält das Array nicht siene eigenschaft und löscht was wenn er aus der ersten for-schleife raus geht ?!
 

The_S

Top Contributor
Weil ich dumm bin ... :x

Hab doch glatt die Hälfte bei meinem Code vergessen ... So ist er richtig

Code:
public class test {
	
	public static void main(String[] args) {
		
		String satz = "Blup foo bar blip blap blupbububububububbu";
		int[] array = new int[satz.split(" ").length - 1];
		for (int i = 0, j = 0; j < array.length; j++) {
			i = satz.indexOf(" ", i + 1);
			array[j] = i;
			System.out.println(array[j]);
		}
	}
}

ansonsten, was willst du genau machen sprich was soll rauskommen?
 
B

bygones

Gast
Code:
		String g1 = "Hallo das ist ein Text";
		int[] a1 = new int[ g1.split( " " ).length -1];
		a1[ 0 ] = g1.indexOf( " " );
		for ( int i = 1; i < a1.length; i++ ) {
			a1[ i ] = g1.indexOf( " ", a1[ i - 1 ] + 1 );
		}
		System.out.println( Arrays.toString( a1 ) );

oder auch so
Code:
		String g1 = "Hallo das ist ein Text";
		String[] gg = g1.split( " " );
		int[] a1 = new int[ gg.length - 1 ];
		for ( int i = 0; i < a1.length; i++ ) {
			a1[ i ] = ( i == 0 ? 0 : a1[ i - 1 ] + 1 ) + gg[ i ].length();
		}
		System.out.println( Arrays.toString( a1 ) );
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
M Erklärung: Int IndexOf (String s) Java Basics - Anfänger-Themen 3
P Schleife für insert() und delete() im StringBuilder in Verbindung mit indexOf() Java Basics - Anfänger-Themen 7
S fraglicher indexOf Wert Java Basics - Anfänger-Themen 2
X Erste Schritte Frage zu indexOf und startsWith Java Basics - Anfänger-Themen 6
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
B Arrays indexOf Java Basics - Anfänger-Themen 5
R indexOf wirft NullPointer Exception Java Basics - Anfänger-Themen 2
H Methoden indexOf Java Basics - Anfänger-Themen 11
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
L String.indexOf -> Backslash Java Basics - Anfänger-Themen 3
B String Methoden ! substring,indexOf,length... :( Java Basics - Anfänger-Themen 5
S LinkedList indexOf() - geht des irgendwie schneller? Java Basics - Anfänger-Themen 23
B ArrayList<Double>.indexOf(Double)? Java Basics - Anfänger-Themen 2
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
StrikeTom ArrayList + IndexOf Java Basics - Anfänger-Themen 3
M IndexOf LinkedList Java Basics - Anfänger-Themen 2
S Nachbau der indexOf Methode Java Basics - Anfänger-Themen 28
G IndexOf Methode Java Basics - Anfänger-Themen 3
G indexOf() Probleme Java Basics - Anfänger-Themen 8
B Char kommt 2 mal im Wort vor (indexOf) Java Basics - Anfänger-Themen 5
S indexOf(",") ? zeichenabfrage eines Strings Java Basics - Anfänger-Themen 7
G indexOf() - was bedeutet -1 ? Java Basics - Anfänger-Themen 27
J Indexof Java Basics - Anfänger-Themen 7
K Probleme mit indexOf() Java Basics - Anfänger-Themen 3
S Frage zu String.indexOf(String) Java Basics - Anfänger-Themen 22
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
N Warum Springt iterator nur in der Schleife weiter Java Basics - Anfänger-Themen 9
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
SpigBin Programm läuft nicht weiter... Java Basics - Anfänger-Themen 10
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
P Ich komme nicht mehr weiter bei so einer einfachen Sache... Java Basics - Anfänger-Themen 18
H Eine befühlte Klasse weiter geben an Controller Java Basics - Anfänger-Themen 12
J Datentypen Komm in einem Android Buch mit Java nicht weiter... Java Basics - Anfänger-Themen 7
N Ich weiß nicht, wie ich meinen Code richtig designen soll und komme nicht weiter Java Basics - Anfänger-Themen 4
D Komme nicht weiter... Java Basics - Anfänger-Themen 4
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
K Armstrong Programm geht nur bis 1000, aber nicht weiter Java Basics - Anfänger-Themen 2
P SystemTray: Programm sol im Hintergrund weiter laufen Java Basics - Anfänger-Themen 30
T Wie weiter machen? Java Basics - Anfänger-Themen 9
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
S Programm läuft nicht weiter, wie Code wiederholen? Java Basics - Anfänger-Themen 2
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
C Threads SwingWorker läuft trotz cancel weiter Java Basics - Anfänger-Themen 22
D Programm läuft plötzlich nicht weiter Java Basics - Anfänger-Themen 12
N JSON - komme nicht weiter Java Basics - Anfänger-Themen 2
S Input/Output Programm läuft nach input-Abfrage nicht weiter. Java Basics - Anfänger-Themen 2
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
A Fehlermeldung Unklar, google hilft auch nicht weiter Java Basics - Anfänger-Themen 2
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
A weiter JButton Fehler Java Basics - Anfänger-Themen 3
S Komme nicht weiter...:-/ Java Basics - Anfänger-Themen 3
K Erste Schritte Wie mache ich weiter? (Spiel-Menü) Java Basics - Anfänger-Themen 9
N Explode in Java (split). Komme nicht weiter. Java Basics - Anfänger-Themen 2
S Scanner -> Zahl lesen und weiter verwenden Java Basics - Anfänger-Themen 8
O unexpected type - weiß nicht weiter! Java Basics - Anfänger-Themen 3
K Hilfe, komme nicht weiter in meinem JAVA-Spiel Java Basics - Anfänger-Themen 3
P Methoden Daten aus Methode weiter nutzen Java Basics - Anfänger-Themen 14
C Programm arbeitet nicht weiter Java Basics - Anfänger-Themen 2
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
B von Ergebniss weiter rechnen Java Basics - Anfänger-Themen 3
Luk10 Button.disable() + Weiter Frage Java Basics - Anfänger-Themen 7
D Iterator schaltet nicht weiter?! Java Basics - Anfänger-Themen 5
E Input/Output Datei immer weiter erweitern Java Basics - Anfänger-Themen 4
J Bald erstes Java Buch durchgearbeitet - Wie gehts nun weiter? Java Basics - Anfänger-Themen 6
M Währungsrechner, aber wie weiter? Java Basics - Anfänger-Themen 8
J Wie weiter Java lernen? Java Basics - Anfänger-Themen 4
K weiter schreiben in einer datei Java Basics - Anfänger-Themen 5
I Weiß einfach nicht mehr weiter... Java Basics - Anfänger-Themen 3
P mit java text-datei auslesen und weiter bearbeiten Java Basics - Anfänger-Themen 3
D brauch hillfe komm nicht mehr weiter... Java Basics - Anfänger-Themen 10
0 Calendar - komme nicht weiter mit add Java Basics - Anfänger-Themen 2
J Anfängeraufgabe - komme nicht weiter Java Basics - Anfänger-Themen 2
neurox Ergebnis der if-Bedingung weiter verwenden Java Basics - Anfänger-Themen 5
J Arrayübergabe, ich komme nicht weiter Java Basics - Anfänger-Themen 2
D DefaultEditorKid komme nicht weiter! Java Basics - Anfänger-Themen 4
M Komme net weiter Java Basics - Anfänger-Themen 7
T Hilfe..ich komme bei Klassen nicht mer weiter Java Basics - Anfänger-Themen 4
P DotComVersenken -Spiel im Schiffeversenken-Stil - erstellen- Komm jetzt nicht weiter. Java Basics - Anfänger-Themen 11
K 50 errormeldungen- komme auch nach vielen Nachmittagen nicht weiter. bitte helfen Java Basics - Anfänger-Themen 39
D Wie weiter machen? Java Basics - Anfänger-Themen 4
C Quellcode richtig bisher? wie gehts weiter? Java Basics - Anfänger-Themen 13
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
G J2EE Tutorial . komme nicht weiter Java Basics - Anfänger-Themen 7
T Spiel --> Soforteingaben per Pfeiltaste möglich? + Weiter Java Basics - Anfänger-Themen 21
C Wenn Wert existiert, dann weiter auf nächste Seite Java Basics - Anfänger-Themen 2
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
Z Datei einlesen in ein String und weiter verwenden Java Basics - Anfänger-Themen 3
N ich weiß nicht weiter. Java Basics - Anfänger-Themen 13
G Instanziierung [HILFE ich komme nicht weiter] Java Basics - Anfänger-Themen 10
G ich komm nicht weiter -> String in int casten Java Basics - Anfänger-Themen 4
B Primzahlprüfung, komme nicht weiter Java Basics - Anfänger-Themen 11
C Nach Catch-Klausel Programm weiter laufen lassen Java Basics - Anfänger-Themen 5
D Weis nicht weiter mit Keylistener Java Basics - Anfänger-Themen 17
X Weiß nicht weiter! Java Basics - Anfänger-Themen 73

Ähnliche Java Themen

Neue Themen


Oben