Hallo zusammen,
ich bin der Alex und ich hoffe ihr könnte mir bei meinem Problem helfen. :rtfm: Das wäre echt super.
Ich programmiere zur Zeit ein kleines Spielchen mit Fragen und Antworten. In einer Klasse füge ich manuell mehrere Fragen, die später nach dem Zufallsprinzip angezeigt werden sollen. Dies geschieht durch Math.random(). Die Fragen sind in dem Variablennamen durchnummeriert. Nach Math.random() soll nun die gezogene Zahl mit dem dazugehörigen Namen in ein String zusammengesetzt werden und als Variable dienen.
Das funktioniert leider nicht so wie gedacht. Im JLabel oder auch JButton wird leider der Variablenname ausgegeben ("l_1_frage"), da müsste aber der Text ausgegeben werden, der hinter dieser Variablen steht ("Dies ist Frage Nummer 1"). Im Code steht erstmal nur eine Frage, somit wird immer die 1 gezogen.
Hier der Code:
Ich habe hin und her probiert, aber leider funktioniert nichts. ???:L
Vielen Dank schon mal für eure Hilfe!:toll:
ich bin der Alex und ich hoffe ihr könnte mir bei meinem Problem helfen. :rtfm: Das wäre echt super.
Ich programmiere zur Zeit ein kleines Spielchen mit Fragen und Antworten. In einer Klasse füge ich manuell mehrere Fragen, die später nach dem Zufallsprinzip angezeigt werden sollen. Dies geschieht durch Math.random(). Die Fragen sind in dem Variablennamen durchnummeriert. Nach Math.random() soll nun die gezogene Zahl mit dem dazugehörigen Namen in ein String zusammengesetzt werden und als Variable dienen.
Das funktioniert leider nicht so wie gedacht. Im JLabel oder auch JButton wird leider der Variablenname ausgegeben ("l_1_frage"), da müsste aber der Text ausgegeben werden, der hinter dieser Variablen steht ("Dies ist Frage Nummer 1"). Im Code steht erstmal nur eine Frage, somit wird immer die 1 gezogen.
Hier der Code:
Java:
public class Frage_100
{
String f_1_frage = "Dies ist Frage Nummer 1";
String f_1_antwort_richtig = "richtige Antwort";
String f_1_antwort_1 = "Falsch 1";
String f_1_antwort_2 = "Falsch 2";
String f_1_antwort_3 = "Falsch 3";
int anzahl_fragen = 1;
int frageauswahl;
JLabel l_frage;
JButton b_antwort_1, b_antwort_2, b_antwort_3, b_antwort_4;
Frage_100(JLabel l_frage, JButton b_antwort_1, JButton b_antwort_2, JButton b_antwort_3, JButton b_antwort_4)
{
this.l_frage = l_frage;
this.b_antwort_1 = b_antwort_1;
this.b_antwort_2 = b_antwort_2;
this.b_antwort_3 = b_antwort_3;
this.b_antwort_4 = b_antwort_4;
while(true)
{
frageauswahl = (int)(Math.random()*anzahl_fragen+1);
System.out.println("Gezogene Zahl ist: "+frageauswahl);
if(frageauswahl > 0 && frageauswahl <= anzahl_fragen)
{
System.out.println("Break!");
break;
}
else
{
System.out.println("Continue");
continue;
}
}
if(frageauswahl > 0)
{
System.out.println("Sprung in die Fragezuordnung");
String frage = "f_"+frageauswahl+"_frage"; // Hier wird der Variablenname zusammengesetzt
String antwort_richtig = "f_"+frageauswahl+"_antwort_richtig";
String antwort_1 = "f_"+frageauswahl+"_antwort_1";
String antwort_2 = "f_"+frageauswahl+"_antwort_2";
String antwort_3 = "f_"+frageauswahl+"_antwort_3";
System.out.println(l_frage.getText());
l_frage.setText(frage); // JLabel (hier wird "f_1_frage" ausgegeben, es sollte aber "Dies ist Frage Nummer 1" ausgegeben werden)
b_antwort_1.setText(antwort_richtig); // JButton
b_antwort_2.setText(antwort_1); // JButton
b_antwort_3.setText(antwort_2); // JButton
b_antwort_4.setText(antwort_3); // JButton
System.out.println(l_frage.getText());
}
}
}
Vielen Dank schon mal für eure Hilfe!:toll:
Zuletzt bearbeitet von einem Moderator: