String for-each array jedem Wert "_ "zuweisen?

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.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung
RedDevil1982 
Fragesteller
 27.11.2022, 12:01

Wie kann man Strings per for-Schleife aneinanderketten?

0

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] = "_";
Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
RedDevil1982 
Fragesteller
 27.11.2022, 12:00

Danke! Wie kann man Strings per for-Schleife aneinanderketten?

0
iQa1x  27.11.2022, 17:03
@RedDevil1982

Das sollte einfach mit + gehen, oder string.concat(andererstring)

0