FileReader BufferedReader & Arrays

Status
Nicht offen für weitere Antworten.
K

keinPlan

Gast
Hallo Ihr Lieben, vielleicht könnt ihr mir ja helfen, ich komme nicht weiter.

Ich habe ein Programm, dass an jedem Wochentag ein Rätsel ausgibt.
Das ist die Aufgabenstellung:

1. Sobald das Programm gestartet wird, liest es die Datei über Streamklassen ein.
2. Die eingelesenen Frage- und Antworttexte werden in den entsprechenden Arrays abgespeichert.

Punkt 1 habe ich gelöst. Ich habe eine Datei erstellt und die Rätsel rein geschrieben und kann sie mir auch mit System.out.print(rätsel) ausgeben lassen.

Allerdings kriege ich das Speichern in Arrays nicht hin (ich komm einfach nicht hinter die Funktionsweise von Arrays und hab schon x Bücher dazu gelesen, irgendwie will das nicht in mein Hirn)

Kann mir jemand ERKLÄREN, wie ich das am besten angehe?
 
K

keinPlan

Gast
danke, so schlau war ich auch schon, hat mir nur leider nix geholfen :(
 

Der Müde Joe

Top Contributor
neues Array

String[] strArray = new String[2] //grösse 2: 1.Frage ; 2. Antwort

füllen:

strArray[0] = frageString; //ein Array der Länge 2 hat 2 Felder: [0] und [1]
strArray[1] = antwortSting; // das 2te feld
 
G

Guest

Gast
So, hier ist mein alter Code

Code:
import java.util.GregorianCalendar;

public class Adventskalender {
	
	public static void main(String[] args) {
		
		// Datumsabfrage
		GregorianCalendar cal = new GregorianCalendar();
		
		int tag = cal.get(GregorianCalendar.DAY_OF_MONTH);
		int monat = cal.get(GregorianCalendar.MONTH) + 1;
		
		System.out.println("Heute haben wir den " + tag + "." + monat + ".\n");
		
		// Prüfung auf Übereinstimmung mit dem aktuellem Monat
		if (monat == 1) {
			int tuer = 1;
			for (; tuer > 0;) {
				System.out
				.println("Welches Tuerchen moechten sie oeffnen? Beenden mit 0. ");
				tuer = Tastatur.readint();
				System.out.println("Eingabe: " + tuer + "\n");
				
				if (tuer > 24) {
					System.out.print("Es muss ein Datum zwischen dem 1. und 24. sein. Versuchs nochmal. ");
				}
				
				else if (tuer > 0) {
					
					// Prüfung auf Übereinstimmung mit dem aktuellem Tag
					if (tuer > tag) {
						System.out
						.println("Türchen lässt sich noch nicht öffnen, denn heute ist erst der "
								+ tag + "." + monat + ".");
					}
					
					// Beginn mit dem Adventsrätsel
					else {
						
						String[] frage1 = {
								"Wer sorgt im Winter immer für reichlich Schnee?",
								"1) Die Eisbären", "2) Frau Holle", "3) Peter Pan", "2" };
						String[] frage2 = { "Welches Land heißt übersetzt 'Dorf' ?",
								"1) Mexico", "2) Kanada", "3) Iran", "2" };
						String[] frage3 = {
								"Was bedeutet das französische Sprichwort: 'Noblese oblige'? ",
								"1) Bete und Arbeite", "2) Geld stinkt nicht",
								"3) Adel verpflichtet", "3" };
						String[] frage4 = {
								"Welches der Elemente gehoert nicht zu den Edelgasen?",
								"1) Barium", "2) Helium", "3) Xenon", "1" };
						String[] frage5 = { "Wann wurde das Drucken erfunden?",
								"1) 700n.Chr.", "2) Im 12 Jh.", "3) Im Jahr 1455", "1" };
						String[] frage6 = { "Wann kommt der Nikolaus in Russland?",
								"1) 7.Januar", "2) 13.Dezember", "3) Er kommt gar nicht", "3" };
						String[] frage7 = { "Welches war der längste Dinosaurier?",
								"1) Diplodocus", "2) Supersaurus", "3) Brachiosaurus", "2" };
						String[] frage8 = { "Wieviele Farben hat der Regenbogen?", "1) 7",
								"2) 5", "3) 3", "1" };
						String[] frage9 = { "Welcher ist der Rote Planet?", "1) Venus",
								"2) Pluto", "3) Mars", "3" };
						String[] frage10 = { "Wie viele Rillen hat eine Schallplatte?",
								"1) 2", "2) 8", "3) 32", "1" };
						String[] frage11 = {
								"Wieviele Zwerge leben mit Schneewittchen zusammen?",
								"1) 5", "2) 7", "3) 9", "2" };
						String[] frage12 = {
								"Wie heißt die beliebteste Spielshow im TV?",
								"1) Wer wird Millionär?", "2) Der Preis ist heiß", "3) Geh aufs Ganze", "1" };
						String[] frage13 = {
								"Wer schrieb Faust?",
								"1) Schiller", "2) Lessing", "3) Goethe", "3" };
						String[] frage14 = {
								"Wer ist 'die Beste Band der Welt'?",
								"1) Die toten Hosen", "2) Juli", "3) Die Ärzte", "3" };
						String[] frage15 = {
								"Was ist Bambi für ein Tier?",
								"1) Ein Reh", "2) Ein Hund", "3) Ein Vogel", "1" };
						String[] frage16 = {
								"Wer sang das Lied 'Black or White'?",
								"1) Janet Jackson", "2) Michael Jackson", "3) Joe Jackson", "2" };
						String[] frage17 = {
								"Wann wurde J.F. Kennedy ermordet?",
								"1) 1961", "2) 1963", "3) 1965", "2" };
						String[] frage18 = {
								"Welches Land ist gleichzeitig Land und Kontinent?",
								"1) Asien", "2) Afrika", "3) Australien", "3" };
						String[] frage19 = {
								"Welche Farbe hat der Clownfisch Nemo?",
								"1) Orange", "2) Blau", "3) Grün", "1" };
						String[] frage20 = {
								"Wer spielte die Hauptrolle in 'Dirty Dancing'",
								"1) John Travolta", "2) Dustin Hoffmann", "3) Patrick Swayze", "3" };
						String[] frage21 = {
								"Wann fiel die Mauer?",
								"1) 1989", "2) 1990", "3) 1991", "1" };
						String[] frage22 = {
								"Wie lang ist der Äquator?",
								"1) 40077 km", "2) 25412 km", "3) 12396 km", "1" };
						String[] frage23 = {
								"Wie heißt das Sprichwort richtig? Der Apfel...",
								"1) schmeckt im Sommer besser", "2) hat oft Würmer", "3) fällt nicht weit vom Stamm", "3" };
						String[] frage24 = {
								"Wann wird Silvester gefeiert?",
								"1) 01.01.", "2) 31.12.", "3) 06.01.", "2" };
						
						
						// Erstellt ein Array in dem die verschiedenen Fragen gespeichert
						// werden
						String[][] frageListe = { frage1, frage2, frage3, frage4, frage5,
								frage6, frage7, frage8, frage9, frage10, frage11, frage12, frage13, frage14,
							 frage15, frage16, frage17, frage18, frage19, frage20, frage21, frage22, frage23, frage24};
						
						// Ermittlung der Anzahl der Fragen in der Frageliste
						int laenge = frageListe.length;
						// Erzeugung einer Zufallszahl
						int zufallszahl = (int) Math.round(Math.random() * (laenge - 1));
						
						System.out.println(frageListe[zufallszahl][0]);
						for (int i = 1; i <= 3; i++) {
							System.out.println(frageListe[zufallszahl][i]);
						}
						int antwort = Tastatur.readint();
						System.out
						.println("Sie haben sich für folgende Antwort entschieden\n"
								+ antwort);
						
						// Vergleich die Antwort mit der richtiger Antwort
						if (antwort == Integer.parseInt(frageListe[zufallszahl][4])) {
							System.out
							.println("Ihre Anwort war richtig. Herzlichen Glueckwunsch!");
						} else {
							System.out.println("Ihre Anwort war leider falsch");
							System.out.println("Die richtige Antwort waere "
									+ frageListe[zufallszahl][4] + " gewesen.");
						}
					}
					
				}
			}
			
		} else {
			System.out.println("Oh, wir haben noch nicht den " + tag + ".Dezember.");
		}
	}
	
}

so und jetzt soll ich den Teil mit den Fragen und Antworten halt in eine Textdatei packen, aufrufen, jede Frage und Antwort in ein Array schreiben.
Aber das klappt nicht.

Code:
 Reader rätsel = new FileReader( "Rätsel" );

damit rufe ich die Datei auf. aber wie krieg ich sie jetzt in das Array???

bin ich grad so kurzsichtig?
 

@x.l

Bekanntes Mitglied
Zuersteinmal sollten variablen keine Umlaute enthalten! Besser wäre "raetsel"!
Um die Datei auszulesen benötigst du einen InputStreamReader bzw. einen BufferedReader. Mit denen kannst du die Datei zeilenweise auslesen! Dem Konstruktor übergibst du die FileReader-Instanz und dann durchläufst du die Datei bis du an der gewünschten Stelle angekommen bist.
 
G

Guest

Gast
Danke Euch, werd mich später nochmal dran setzen und berichten.
Muss jetzt erstmal los.
 
G

Guest

Gast
Übrigens, ja alles was oben in den Arrays drin ist, ist in der Datei "Rätsel"

PS. ich weiss das mit den Umlauten, is aber grad mein kleinstes Problem. Mein Problem sind und bleiben diese verfluchten Arrays :bahnhof:
 

Der Müde Joe

Top Contributor
@ VolkaPutt
mir egal wie schwer das sein mag. Strings in array lesen. ok. ist mühsam... und wird immer so sein....wie auch immer: sentinel oder oder sonst wilde split dinger mit tokenizern und weiss ich noch was?
xml und das Problem wäre gelöst rucki zucki...aber ich habe das Problem ja nicht..helfe nur zu lösen
 

Leroy42

Top Contributor
VolkaPutt hat gesagt.:
Zuersteinmal sollten variablen keine Umlaute enthalten! Besser wäre "raetsel"!

Klassen- & Interface-Namen sollten keine Umlaute enthalten, da
diese (noch) von BS zu BS verschieden kodiert werden.

Variablennamen können aber sehr wohl Umlaute (und von mir
aus auch hebräische Zeichen) enthalten, da Java selbst intern
vollständig Unicode nutzt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
T filereader , file aus programm einlesen Java Basics - Anfänger-Themen 12
W FileReader - Bitte um Erklärung Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 2
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
A FileReader Problem Java Basics - Anfänger-Themen 14
D JFileChooser & FileReader Java Basics - Anfänger-Themen 4
L Input/Output FileReader Pfadangabe Java Basics - Anfänger-Themen 7
L While-Schleife und filereader Java Basics - Anfänger-Themen 5
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
F wo datei für filereader ablegen? Java Basics - Anfänger-Themen 11
M FileReader Zeilenangabe Java Basics - Anfänger-Themen 22
L RandomAcessFile getFilePointer in normalen FileReader Java Basics - Anfänger-Themen 4
H OOP FileReader Einleseergebnis Java Basics - Anfänger-Themen 5
R Von wo nimmt der FileReader seine daten Java Basics - Anfänger-Themen 7
J fileReader: wird dateipfad benötigt? Java Basics - Anfänger-Themen 8
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
F FileReader Frage Java Basics - Anfänger-Themen 3
M Frage zur Klasse FileReader Java Basics - Anfänger-Themen 6
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5
F FileReader Methode Read() int? Java Basics - Anfänger-Themen 2
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
K FileReader Systempfad Mac Java Basics - Anfänger-Themen 11
A Filereader - An den Anfang des File springen Java Basics - Anfänger-Themen 2
N Pfad und FileReader? Java Basics - Anfänger-Themen 2
S Filereader funktioniert nicht! Fehlersuche Java Basics - Anfänger-Themen 9
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G filereader Java Basics - Anfänger-Themen 5
G zusätzliche "" bei Pfadangabe z.B. bei FileReader Java Basics - Anfänger-Themen 2
B Problem mit Filereader und filewriter Java Basics - Anfänger-Themen 20
H IOException bei FileReader Java Basics - Anfänger-Themen 3
D Wie funktionieren FileReader Java Basics - Anfänger-Themen 6
M FileReader.read(char[]) - Größe des Arrays? Java Basics - Anfänger-Themen 4
R FileInputStream.read() != FileReader.read(). Pls Help Java Basics - Anfänger-Themen 5
S FileReader-Problem Java Basics - Anfänger-Themen 2
G Textdatei auslesen - Text anfügen - FileReader Java Basics - Anfänger-Themen 18
G FileReader Java Basics - Anfänger-Themen 10
P FileReader Java Basics - Anfänger-Themen 2
V filereader soll aus config.txt pfade lesen Java Basics - Anfänger-Themen 6
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
S Erklärung BufferedReader und InputStreamReader Java Basics - Anfänger-Themen 4
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
O BufferedReader - Endlos Schleife Java Basics - Anfänger-Themen 2
K BufferedReader für IOTools ersetzen? Java Basics - Anfänger-Themen 17
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
S Einlesen BufferedReader Java Basics - Anfänger-Themen 5
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
J Scanner & BufferedReader Java Basics - Anfänger-Themen 3
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
L 2x BufferedReader in einem Programm Java Basics - Anfänger-Themen 1
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
N BufferedReader Java Basics - Anfänger-Themen 19
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Probleme mit java.io.BufferedReader Java Basics - Anfänger-Themen 6
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
B Erste Schritte BufferedReader mag nicht so recht Java Basics - Anfänger-Themen 4
B Input/Output Probleme mit BufferedReader Java Basics - Anfänger-Themen 4
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
P BufferedReader - als String[] speichern ? Java Basics - Anfänger-Themen 5
H Problem mit Regex in Verbindung mit BufferedReader Java Basics - Anfänger-Themen 4
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
G Hilfe bei BufferedReader Java Basics - Anfänger-Themen 4
A Methoden BufferedReader durchzählen dann lesen Java Basics - Anfänger-Themen 11
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
S Erste Schritte Frage bezüglich "BufferedReader" Java Basics - Anfänger-Themen 3
A BufferedReader mit geöffneter Datei Java Basics - Anfänger-Themen 4
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
H BufferedReader Zeilenauslesen & verwenden Java Basics - Anfänger-Themen 4
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
C BufferedReader Java Basics - Anfänger-Themen 5
C Datentypen BufferedReader Java Basics - Anfänger-Themen 6
c_sidi90 BufferedReader Benzinverbrauch Java Basics - Anfänger-Themen 7
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben