Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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.
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);
}
}
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) ");
}
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.
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:
ja, habe ich gemacht. und ich hatte recht
kommt zwar selten vor, aber diesmal ist es komischerweise mal der fall. i vor der if-abfrage == i nach der if-abfrage !
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.
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:
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:
@ 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
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:
nice, danke für die hilfe!
der gewinner ist..... BleiGlanz!
hatte capacity und size verwechselt. jetzt funzt es wie geschmiert.
oni & hobbit: danke trotzdem!