String for-each array jedem Wert "_ "zuweisen?
Ich möchte nun jedem Element aus dem String-array rateWort
"- " zuweisen. Habe eine for-each gewählt. Warum geht das nicht?
Fehler: Typ mismatch can not convert from String to int ?????
2 Antworten
Mit der von dir gewählten foreach Schleife erhältst du mit jedem Schleifendurchlauf einen Wert aus dem Array "rateWort", was ein String ist. Du versuchst aber, mit diesem String-Wert das Array zu indizieren. Du benötigst jeden Schleifendurchlauf den Index des zu ersetzenden Werts, und nicht den Wert selbst. Der Fehler sagt schlichtweg aus, dass du einen String (den Wert des Arrays, der in "a" gespeichert ist, und den du ja auch als String initialisiert hast) versuchst, in einen Integer umzuwandeln (um damit das Array zu indizieren). Das funktioniert nicht.
Statt:
for (String a : rateWort) {
// ...
}
schreibe:
for (int a = 0; a < rateWort.length(); a++) {
// ...
}
In anderen Programmiersprachen kann man auch auf die Array-Indizes in einer foreach-Schleife zugreifen (bspw. in JavaScript mit einer "for in" Schleife), in java geht das allerdings nicht, daher benötigst du eine "normale" for-Schleife.
Wie kann man Strings per for-Schleife aneinanderketten?
Das geht mit for each nicht, weil du nur den Inhalt, also das Value bekommst, und nicht auf den Index zugreifen kannst. Auch eine Zuweisung an a bringt nichts, weil es den Array-Wert nicht ändert. Du musst das ganz klassich mit einr for Schleife machen:
for (int a=0;a<rateWort.length();a++) rateWort[a] = "_";
Das sollte einfach mit + gehen, oder string.concat(andererstring)
Danke! Wie kann man Strings per for-Schleife aneinanderketten?