Zweidimensionales String-Array initialisieren

Status
Nicht offen für weitere Antworten.

m4dman

Mitglied
Hallo an alle da draußen.
Habe ein kleines Problem.. hoffentlich für euch keine als zu schwere Aufgabe. Ich selbst bin allerdings mit meinem Latein am Ende.
Wir sollen für den Informatik LK ein Quiz erstellen. Und zwar habe ich mir das folgendermaßen gedacht:
Ich habe ein Zweidimensionales String-Array mit 15 Zeilen und 7 Spalten.

Code:
public String[][] Fragen = new String[15][7];

Auf die erste Spalte lege ich immer die zu stellende Frage, auf die 2.-5. Spalte kommen die vier Antwortmöglichkeiten (soll mal ein multiple-choice quiz werden), auf die 6. einer der Buchstaben a/b/c/d welches die richtige Antwort ist und auf die 7. ein +/- ob die Frage schonmal gestellt wurde. Sicherlich nicht die eleganteste Lösung. Allerdings müssen wir laut Aufgabenstellung mind. 1 Array einbauen. Vielleicht habt ihr ja auch eine bessere Idee.
Mein eigentliches Problem ist allerdings das folgende:
Ich möchte das String Array in der Methode zuweisen() initialisieren. Es funktioniert zwar, wenn ich schreibe:

Code:
public void zuweisen(){

Fragen[0][0]="asdf";
Fragen[1][0]="sdfadsf";
.
.
.
.
.
Fragen[14][0]="bxc";

}

allerdings ist mir das ganze ehrlichgesagt zu umständlich und zu lang. Ich würde es gerne alles auf einmal initialisieren und zwar habe ich mir das folgendermaßen gedacht:

Code:
public void zuweisen(){


  String Fragen[][]= { {"asdf"},
                       {"bcsdfs"},
                       {"defg"},
                       {"sdfge"},
                       {"wsadf"},
                       {"asdfa"},
                       {"asdf"},
                       {"asdf"},
                       {"gsdfs"},
                       {"atgf"},
                       {"mgjf"},
                       {"mgjhsd"},
                       {"gsfdsd"},
                       {"hsdf"},
                       {"dfbxcv"}};

  }

Die 2. Variante scheint aber nicht recht zu funktionieren. Kann mir jemand erklären wieso? Oder muss man die Geschichte ganz anders anpacken?
Ich wäre für jede Hilfe dankbar.

Soweit ein schönes Wochenende,

m4dman
 
S

SlaterB

Gast
definiere
> Die 2. Variante scheint aber nicht recht zu funktionieren.
näher...

du hast da ein 15x1 Array und kein 15x7, aber sonst sieht's korrekt aus

du definierst da allerdings eine lokale Variable,
während du sonst eher eine Exemplarvariable befüllst?
-----

Variablen IMMER klein schreiben (Ausnahme: Konstanten)

-------

Java ist ganz toll objektorientiert,
schreibe eine Klasse Frage (Klassen immer groß schreiben)
mit lauter einzelnen Feldern bzw. die Antworten als 4er-Array

und dann ein eindimensionales 15er-Array von Frage-Objekten
 

m4dman

Mitglied
Hi Slater, erstmal vielen Dank für die superschnelle Antwort!

ehm ja.. NOCH ist es 15x1 array.. auch nur mit Beispielwerten befüllt, welche sozusagen Platzhalter für die späteren Fragen sind,um das ganze zu testen. Die restlichen 6 Spalten hab ich erstmal frei gelassen. Geht doch, da diese dann mit /0 initialisiert werden oder nicht?

mit "Die 2. Variante scheint aber nicht recht zu funktionieren." meine ich folgendes:

Aus diesen 15 Fragen sollen später mal in der Methode ReihenfolgeFestlegen() (welche übrigens auch noch Ärger macht, aber damit habe ich mich noch nicht tiefgründig beschäftigt - bestimmt nur ein kleiner Fehler) 10 Fragen zufällig ausgewählt werden.
Habe jetzt zu Testzwecken eine Methode NaechsteFrage() erstellt mit welcher ich später nacheinander die ausgewählten Fragen an die Oberfläche übergeben will:

Code:
public String NaechsteFrage()
  {
  aktuelleFrage=fragen[0][0];
  return aktuelleFrage;
  }

und dann in der Oberfläche kommt einfach:

Code:
public void cmdNextActionPerformed(ActionEvent evt) {
   fr.zuweisen();
   txtFrage.setText(fr.NaechsteFrage());
  }

so... und wenn ich aus meinem 1. Post die erste Initialisierungsmethode in zuweisen() nehme (also jeden Wert einzeln deklarieren), dann steht im Textfeld ordnungsgemäß "asdf"

bei der 2. Variante kommt allerdings gar nichts.. Textfeld bleibt leer.. und das ist mein eigentliches Problem.

Vielleicht war diese Beschreibung ja etwas deutlicher :S

Vielen Dank schonmal im Voraus,

m4dman

P.s.: was genau meinst du mit "lauter einzelne Felder"? Arrays?
 
S

SlaterB

Gast
z.B.
Code:
class Frage {
  private String frage;
  private String[] antworten;
  private int richtigeAntwort;
  private boolean schonmalGestellt;
  ..
}

--------

was ich in die erste Antwort schon reineditiert hatte:

du definierst da allerdings eine lokale Variable,
während du sonst eher eine Exemplarvariable befüllst?

mit deiner zweiten Variante bleibt die Exemplarvariable Fragen unberührt,

--------

> Die restlichen 6 Spalten hab ich erstmal frei gelassen.
> Geht doch, da diese dann mit /0 initialisiert werden oder nicht?

geht nicht, du erzeugst einen neuest String[][]-Objekt der Dimension 15x1,
welche Dimension das VORHER zugewiesene String-Objekt hatte ist egal
 

m4dman

Mitglied
Hmm.. da hast du recht.. also ist meine 2. Variante ausgeschlossen, ja?

zu deinem Vorschlag..
das Prinzip verstehe ich im Großen und Ganzen aber: dann muss ich ja für jede Frage eine neue Klasse erstellen, oder sehe ich das falsch?
 
S

SlaterB

Gast
und die zweite Variante ist auch nicht ausgeschlossen, wenn du es nur vollstädig machst
z.B.

fragen = {
{0,1,2,3,4,5,6}, // steht für ein 7er-Array
{0,1,2,3,4,5,6},
{0,1,2,3,4,5,6},
....};

auch möglich:
fragen[0] = {0,1,2,3,4,5,6}; // steht für ein 7er-Array
fragen[1] = {0,1,2,3,4,5,6}; // steht für ein 7er-Array
fragen[2] = {0,1,2,3,4,5,6}; // steht für ein 7er-Array
....


besser natürlich
Frage[] fragen = new Frage[15];
fragen[0] = new Frage(0,new String[] {1,2,3,4},5,6); // steht für ein Frage -Objekt
fragen[1] = new Frage(0,new String[] {1,2,3,4},5,6); // steht für ein Frage -Objekt
fragen[2] = new Frage(0,new String[] {1,2,3,4},5,6); // steht für ein Frage -Objekt
....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Datentypen Zweidimensionales Array mit String und int Java Basics - Anfänger-Themen 3
C Zweidimensionales String Array initialisieren Java Basics - Anfänger-Themen 2
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
sserio Iterierung über ein zweidimensionales Array Java Basics - Anfänger-Themen 16
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
Yasemin bahar zweidimensionales Array Java Basics - Anfänger-Themen 5
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
J zweidimensionales Array Java Basics - Anfänger-Themen 1
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
J Zweidimensionales array kopieren und in eindimensionales überführen Java Basics - Anfänger-Themen 304
X Java zweidimensionales Array Java Basics - Anfänger-Themen 5
J Zweidimensionales Array in CSV File exportieren Java Basics - Anfänger-Themen 3
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
F Erste Schritte zweidimensionales array Java Basics - Anfänger-Themen 2
J Erste Schritte zweidimensionales Array Muster befüllen. Java Basics - Anfänger-Themen 4
K drei eindimensionale Arrays in ein zweidimensionales Array Java Basics - Anfänger-Themen 10
K Zweidimensionales Array erstellen und zufällig mit 0 und 1 füllen Java Basics - Anfänger-Themen 11
P zweidimensionales Array anlegen und mit DB-Daten füllen Java Basics - Anfänger-Themen 14
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
C ZweiDimensionales Array erstellen und Spiegeln Java Basics - Anfänger-Themen 1
H zweidimensionales array füllen Java Basics - Anfänger-Themen 6
N zweidimensionales 10x10 Feld erstellen Java Basics - Anfänger-Themen 3
D Zweidimensionales Array ( Java Basics - Anfänger-Themen 2
D Zweidimensionales Array (Länge) Java Basics - Anfänger-Themen 2
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
M Zweidimensionales Array um 1 addieren Java Basics - Anfänger-Themen 3
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
S Zweidimensionales Array mit Diagonalen Java Basics - Anfänger-Themen 9
D aus 2 arrays ein zweidimensionales formen Java Basics - Anfänger-Themen 9
M Zugriffsproblem auf (zweidimensionales) Array in einer ArrayList Java Basics - Anfänger-Themen 15
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
A Zweidimensionales Array Java Basics - Anfänger-Themen 3
M Zweidimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
C zweidimensionales Array sortieren Java Basics - Anfänger-Themen 6
B Zweidimensionales Array durchsuchen und ändern Java Basics - Anfänger-Themen 8
R dynamisches zweidimensionales Feld erzeugen Java Basics - Anfänger-Themen 8
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
B Zweidimensionales Array mit boolean Werten Java Basics - Anfänger-Themen 3
M Zweidimensionales Array befüllen Java Basics - Anfänger-Themen 4
S Zweidimensionales Array mit Schleife summieren Java Basics - Anfänger-Themen 2
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
F Datentypen Zweidimensionales Array füllen Java Basics - Anfänger-Themen 6
S zweidimensionales ARRAY Java Basics - Anfänger-Themen 2
S zweidimensionales Array Java Basics - Anfänger-Themen 6
berti99 Zweidimensionales Array befüllen Java Basics - Anfänger-Themen 5
U Zweidimensionales Array mit Eindimensionalem Array Java Basics - Anfänger-Themen 7
J zweidimensionales Array einselen und ausgeben Java Basics - Anfänger-Themen 15
G Zweidimensionales Array - dynamisch Java Basics - Anfänger-Themen 4
M Zweidimensionales Array Java Basics - Anfänger-Themen 3
G zweidimensionales Array vergrößern Java Basics - Anfänger-Themen 3
M Zweidimensionales dynamisches Array füllen Java Basics - Anfänger-Themen 2
J zweidimensionales Array Java Basics - Anfänger-Themen 3
P zweidimensionales Array erstellen Java Basics - Anfänger-Themen 9
V Zweidimensionales Ganzzahlfeld Java Basics - Anfänger-Themen 7
D erste spalte eines zweidimensionales Array sortieren ??!! Java Basics - Anfänger-Themen 2
richis-fragen String("AT") als StringObject-Variable deklarieren Java Basics - Anfänger-Themen 14
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben