Ich habe die String Datenfelder field1 bis field9. Möchte diese Felder in einer for Schleife aus dem String "field" und der inkrementierenden Zahl int i (0 - 9) zusammenfügen und dann auf die neue konkatenierten String die Methode .equals() aufrufen. Wie mache ich das? Folgend mein Versuch:
Ziel ist es die auskommentiereten "If Abfragen" zu ersetzen. Leider ist es mir nicht erlaubt ArrayList zu verwenden, was das ganze wahrscheinlich einfacher machen würde.
Also Variablen field1 bis field9 sind schon etwas unglücklich. Da sollte statt dessen ein Array verwendet werden. Dann kann man so Code vereinfachen, denn man kann ja direkt field[input]=setXorO(); aufrufen.
Und noch eine kleine Bitte: Code bitte über Code-Tags posten. Das geht ganz einfach über den </> Knopf links oberhalb des Eingabebereichs.
Edit: Bei dem Code hat sich auf die schnelle ein Fehler eingeschlichen. Bei Arrays wäre der Index von 0 bis 8. Bei Eingabe von 1 bis 9 muss man natürlich die Eingabe um eins reduzieren: field[input-1]=setXorO();
Ja, aber ich benötige keinen String. Ich möchte aus einem String "field" und einem int "i" den ich inkrementiere die Variable vom Typ String field1 bis field9 erstellen. Damit ich dann auf den Inhalt der Variable field1 bis 9 zugreifen kann.
Also Variablen field1 bis field9 sind schon etwas unglücklich. Da sollte statt dessen ein Array verwendet werden. Dann kann man so Code vereinfachen, denn man kann ja direkt field[input]=setXorO(); aufrufen.
Und noch eine kleine Bitte: Code bitte über Code-Tags posten. Das geht ganz einfach über den </> Knopf links oberhalb des Eingabebereichs.
Edit: Bei dem Code hat sich auf die schnelle ein Fehler eingeschlichen. Bei Arrays wäre der Index von 0 bis 8. Bei Eingabe von 1 bis 9 muss man natürlich die Eingabe um eins reduzieren: field[input-1]=setXorO();
Was ist bitte die genaue Aufgabe? So wie Du das hier gezeigt hast, macht es nicht wirklich Sinn.
Statt einem Array kann man eine eigene Datenstruktur aufbauen In einer Map könnte man halt auch sogenannte Key - Value Paare speichern um dann über den Key auf Werte zuzugreifen.
Eine letzte Option wäre, über Reflection auf Instanz- oder Klassenvariablen zuzureifen. Da würde man auch den Namen verwenden. (Aber das ist in so einem Zusammenhang absoluter Unsinn!)
Und wo wir schon so am rumspinnen sind: Mach die Felder in eine Enum. Dann kannst Du auch durch iterieren und gezielt auf Elemente zugreifen.
Aber all diese Ideen sind entweder relativer Quatsch (Reflection und Enum) oder bestimmt nicht im Sinne der Aufgabe (Map). Daher: Gib den genauen Wortlaut der Aufgabe, denn ich glaube, dass Du die nicht gut genug präsentiert hast.