Vector schmeißt arrayOutOfBoundsException :(

Status
Nicht offen für weitere Antworten.

dyn

Mitglied
Hi!

Kurzer Schnipsel:

Code:
Vector buchstaben;
// die begriff.length() ist bekannt. wenn ich mir mit System.out.println die vector-länge anzeigen lasse, stimmt
// das ganze auch.

buchstaben = new Vector(begriff.length());

// die nächste Zeile schmeißt die OutofBoundsException...wenn begriff.length() z.b. 5 ist. steht in der ersten Zeile der 
// Fehlermeldung außerdem zusätzlich "5 > 0" ..je nachdem wie groß die length bzw. die vector größe ist.
 
for (int i =0; i<begriff.length(); i++)
 {
if(letter.equalsIgnoreCase(begriff.substring(i,i+1)))      
  {
        buchstaben.setElementAt((Object)letter,i);
  }
 }

ich möchte mit dem code erreichen, dass wenn ein eingebener buchstabe (letter) in dem String "begriff" enthalten ist,
dieser buchstabe im vector an die stelle gepackt werden soll, wo er auch im String "begriff" ist.

was habe ich falsch gemacht?
 

dyn

Mitglied
bringt nichts!

...wenn du meintest ich sollte

for (int i =0; i<begriff.length(); i++)
in
for (int i =0; i<begriff.length() -1; i++)
ändern. :|
 

Oni

Top Contributor
oh, ich sehe gerade du erhöhst die variable i zweimal in der schleife

Code:
for (int i =0; i<begriff.length(); i++)// <--- das erstemal hier 
{
if(letter.equalsIgnoreCase(begriff.substring(i,i+1)))    // <--- und hier
  {
        buchstaben.setElementAt((Object)letter,i);
  }
}

da müsste der fehler liegen ;-)
 

dyn

Mitglied
aber ich erhöhe sie doch nur im schleifendurchlauf, bzw. gebe damit die position des buchstabens an...i+1 ist doch nicht das gleiche wie i = i+1 !!

help pls :|
 

Oni

Top Contributor
teste es doch mal ;-)
Code:
for (int i =0; i<begriff.length(); i++)
{
System.out.println("Wert von i = " + i + " (Vor der if-Abfrage)");
if(letter.equalsIgnoreCase(begriff.substring(i,i+1)))    
  {
        buchstaben.setElementAt((Object)letter,i);
  }
System.out.println("Wert von i = " + i + " (Nach der if-Abfrage) ");
}
 

mic_checker

Top Contributor
was anderes, du sagst:

dass wenn ein eingebener buchstabe (letter) in dem String "begriff" enthalten ist,
dieser buchstabe im vector an die stelle gepackt werden soll, wo er auch im String "begriff" ist.

kommt der buchstabe an position 3 vor, soll er auch im Vector an Position 3 stehen , richtig?
Doch wenn vorher nichts drin ist und du versuchst an 3 zu schreiben , wird das nen Fehler geben.

Übrigens - eine ArrayList ist i.d.R. einem Vector vorzuziehen.
 

The_S

Top Contributor
Damit du nicht dumm stirbst, will ich dich mal aufklären, was Oni meint :wink: .

Da i im letzen Fall ja auf den letzten Buchstaben deines Satzes zugreift, greift i + 1 logischerweiße in diesem Fall auf den letzen + 1 Buchstaben zu und dieser existiert ja logischerweiße nicht Jetzt verstanden? :wink:
 

dyn

Mitglied
ja, habe ich gemacht. und ich hatte recht :D
kommt zwar selten vor, aber diesmal ist es komischerweise mal der fall. i vor der if-abfrage == i nach der if-abfrage !

brauche also immernoch hilfe :p
 

dyn

Mitglied
kommt der buchstabe an position 3 vor, soll er auch im Vector an Position 3 stehen , richtig?
Doch wenn vorher nichts drin ist und du versuchst an 3 zu schreiben , wird das nen Fehler geben.

Übrigens - eine ArrayList ist i.d.R. einem Vector vorzuziehen.

hm. genau...hm gibt es denn keine möglichkeit das mit einem vector zu lösen?

gehts evtl mit den methoden setElementAt?
 

Bleiglanz

Gesperrter Benutzer
Hobbit_Im_Blutrausch hat gesagt.:
Damit du nicht dumm stirbst, will ich dich mal aufklären, was Oni meint :wink: .

Da i im letzen Fall ja auf den letzten Buchstaben deines Satzes zugreift, greift i + 1 logischerweiße in diesem Fall auf den letzen + 1 Buchstaben zu und dieser existiert ja logischerweiße nicht Jetzt verstanden? :wink:
Nein
 

The_S

Top Contributor
Bleiglanz hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
Damit du nicht dumm stirbst, will ich dich mal aufklären, was Oni meint :wink: .

Da i im letzen Fall ja auf den letzten Buchstaben deines Satzes zugreift, greift i + 1 logischerweiße in diesem Fall auf den letzen + 1 Buchstaben zu und dieser existiert ja logischerweiße nicht Jetzt verstanden? :wink:
Nein

Nein, nicht verstanden oder Nein, is nicht so ???:L
 

dyn

Mitglied
@ bleiglanz, ich habe den vector doch mit der begriff.length() initialisiert!
das kommt doch Vector.setSize gleich oder nicht?!

@ oni und hobbit:
ich hab das mal getestet...ich kriege keine fehlermeldungen, die auf das i+1 schließen würden...
wenn das trotzdem daran liegen sollte schande über mich :) ...ich probier mal weiter, bin aber für jeden tip zu haben :D
 

Bleiglanz

Gesperrter Benutzer
Hobbit_Im_Blutrausch hat gesagt.:
Bleiglanz hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
Damit du nicht dumm stirbst, will ich dich mal aufklären, was Oni meint :wink: .

Da i im letzen Fall ja auf den letzten Buchstaben deines Satzes zugreift, greift i + 1 logischerweiße in diesem Fall auf den letzen + 1 Buchstaben zu und dieser existiert ja logischerweiße nicht Jetzt verstanden? :wink:
Nein

Nein, nicht verstanden oder Nein, is nicht so ???:L

ist nicht so, der letzte durchlauf ist ja gerade i=länge-1 (wegen < length()), also ist

substring(i,i+1) genau passend das letzte Zeichen????

und

nicht Capacity und Size verwechseln :)
 

Oni

Top Contributor
ups, stimmt. sorry mein fehler..

i < begriff.length()

beim letzten durchlauf

i+1 == begriff.length();
 

Bleiglanz

Gesperrter Benutzer
ich würde eben mit add arbeiten :)
Code:
    Vector<String> buchstaben= new Vector<String>(begriff.length());
		for(int i=0,len=begriff.length();i<len;i++){                      
                buchstaben.add(
                    letter.equalsIgnoreCase(begriff.substring(i,i+1)) ? letter : null
                   );
		}

oder gleich mit Java5 auf die Indexerei verzichten
Code:
for(char c : begriff.toCharArray()){
    buchstaben.add(letter.equalsIgnoreCase(String.valueOf(c)) ? letter : null);
}
 

dyn

Mitglied
nice, danke für die hilfe!
der gewinner ist..... BleiGlanz! :D
hatte capacity und size verwechselt. jetzt funzt es wie geschmiert.
oni & hobbit: danke trotzdem!
 

Solour

Aktives Mitglied
welchen typ hat denn überhaupt letter?

Code:
public Vector<String> tuDies(String letter, String str){
    Vector<String> res= new Vector<String>();
    char upChar= c.toUpperCase().charAt(0);
    for(char c: str.toUpperCase().toCharArray())
        if(c==upChar)
	res.set(0, c);
}

so oder ähnlich würd ichs machen...

/edit: mist..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7
K Vector Java Basics - Anfänger-Themen 3
K Vector Java Basics - Anfänger-Themen 10
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
T Object aus Vector übergeben Java Basics - Anfänger-Themen 2
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
L Vector einem Array hinzufügen Java Basics - Anfänger-Themen 14
P Vector mit double Java Basics - Anfänger-Themen 3
P Vector Elemente auslesen Java Basics - Anfänger-Themen 9
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
W Vector mit String[] auslesen Java Basics - Anfänger-Themen 4
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
E Vector Fehler bei allen Methoden von Vector Java Basics - Anfänger-Themen 2
K Vector zu Array machen Java Basics - Anfänger-Themen 10
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
L Multidimensional Vector - Recordset Java Basics - Anfänger-Themen 5
K Objektklasse mit leerem Vector füllen Java Basics - Anfänger-Themen 6
K Vector wird überschrieben Java Basics - Anfänger-Themen 7
G Vector Strijng parsen Java Basics - Anfänger-Themen 6
K vector cannot be resolved Java Basics - Anfänger-Themen 3
G Zeichenkette suchen in Vector-Klasse Java Basics - Anfänger-Themen 11
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
M ObjectInputStream, Object und Vector<Object> Java Basics - Anfänger-Themen 4
G Vector, equal & Casts Java Basics - Anfänger-Themen 5
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Vector Java Basics - Anfänger-Themen 7
S Problem mit Vector Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G 2D vector zugriff auf elementinterne elemente wie Java Basics - Anfänger-Themen 3
G vector in neuem vector sortieren Java Basics - Anfänger-Themen 3
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
G Vector eigenen Typs mit Daten füllen Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben