Fragen zu Quiz programm

fleckdalm

Bekanntes Mitglied
Ich würde gerne ein Quiz machen dazu habe ich folgende Fragen:

Ich glaube es ist am Sinnvollsten für jede Frage eine eigene Methode zu machen, daher meine Frage wie kann ich zufällig eine Methode aufrufen?

Könnte ich die Fragen auch in einer extra Datei speichern wenn ja wie, und wie kann ich dann die Fragen auslesen, kann man auch während das Programm läuft etwas in die Datei schreiben?

Wie könnte ich es am besten bewerkstelligen das der Benutzer auch neue Fragen eingeben kann und diese dann gespeichert werden?

Auch wenn ihr eine ihr eine bessere Methode kennt beantwortet mir meine Fragen bitte trotzdem da ich glaube das sie allgemein fürs Programmieren nützlich sind.
Schonmal im Vorraus Danke mfg Fleckdalm
 
naja das Prinzip "für jede Frage eine Methode" halte ich designtechnisch für unrichtig. Ein Quiz sollte ja nicht nur aus eine Hand voll Fragen bestehen. Stell dir eine Klasse vor, in der nur 500 Methoden Fragen abarbeiten.

Ich würde eine Methode "stelleFrage" schreiben, die zuvor eine Zufallszahl zwischen 1 und der Anzahl der Fragen erstellt und diese Zahl, dann die zu stellende Frage bestimmt.

Natürlich wäre es besser die Fragen auf eine Datei auszulagern, anstatt mit unzähligen String objekten, die höchstwahrscheinlich in einen Spielablauf eh nicht verwendet werden, den Speicher zu kitzeln.

Du kannst Dateien generell über FileReader auslesen und FileWriter beschreiben. Dazu gibt es Tutorials oder die Api 🙂

Das Ganze ist jedoch nur meine persönliche Meinung
 
Ich glaube es ist am Sinnvollsten für jede Frage eine eigene Methode zu machen
Definitiv: Nein.
Könnte ich die Fragen auch in einer extra Datei speichern wenn ja wie, und wie kann ich dann die Fragen auslesen, kann man auch während das Programm läuft etwas in die Datei schreiben?
Ja. Dazu sollten sich einige Beispiele finden lassen. Einen kurzen Überblick gibt's z.B. hier: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 14 Dateien und Datenströme
Wie könnte ich es am besten bewerkstelligen das der Benutzer auch neue Fragen eingeben kann und diese dann gespeichert werden?
Hängt davon ab, wie das ganze umgesetzt wird: als Konsolenprogramm oder als GUI?
 
Das was unter diesem Link beschrieben ist ist mir ein bisschen zu kompliziert(ich verstehe gerade mal die hälfte davon).Was hat den socialcocer mit filereader und writer gemeint das hört sich einfacher an.
mfg Fleckdalm
 
java.io.FileReader
java.io.FileWriter

Die Idee mit der Zufallszahl in einer Methode stelleFrage() von socialcocer finde ich auch nicht schlecht. Ich könnte es mir folgendermaßen vorstellen:

Am Anfang des Programms liest du aus einer Textdatei die Fragen (eine Frage pro Zeile in der Textdatei) z.B. in ein String-Array ein. In einer Methode stelleFrage() generierst du dann die Zufallszahl, die abhängig von der Länge dieses String-Arrays ist, und nimmst dann die Zufallszahl als Index für das Array. Der String, den du dann erhältst, wird die Frage sein.
Wenn du es so machst, wäre es außerdem sinnvoll, eine Textdatei mit den Antworten zu haben, die du genauso einliest. Dabei sollten die Zeilen der Antworten und Fragen übereinstimmen (Beispiel: in Zeile 8 deiner Fragendatei steht: "Wie viele Beine hat ein Hund?", dann sollte in Zeile 8 in der Antwortdatei die Antwort auf diese Frage stehen).
 
Danke, aber so ganz verstehe ich das was unter den links steht auch nicht. Könntest du vielleicht nur ein kleines Beispiel schreiben wie ich eine Datei erstelle aus ihr lese und in sie schreibe? Und was ist eigentlich ein Array das habe ich schon öfters gelesen ich weiß aber nicht genau was das ist.
Danke mfg Fleckdalm
 
Danke, aber so ganz verstehe ich das was unter den links steht auch nicht. Könntest du vielleicht nur ein kleines Beispiel schreiben wie ich eine Datei erstelle aus ihr lese und in sie schreibe? Und was ist eigentlich ein Array das habe ich schon öfters gelesen ich weiß aber nicht genau was das ist.
Ähm, tut mir leid, aber wenn dir nicht mal Arrays was sagen, solltest du wirklich erst mal ein Java-Anfängerbuch durcharbeiten. Klar kann ich dir ein Stück Code schreiben, aber so wie dein Text gerade für mich klingt, wirst du wohl nicht viel davon verstehen können.
 
Ich habe jetzt nachgelese was arrays sind vielleicht verstehe ich es ja jetzt könntest du biiiiiiitte ein kleines gut erklärtes beispiel schreiben?
Daaaanke mfg fleckdalm
 

Neue Themen


Zurück
Oben