BlueJ Daten in Textdatei schreiben

elidor

Mitglied
Hallo
Ich versuche mir grade selber Java beizubringen. Ich habe mir dazu auch ein Buch gekauft, aberbeite danach, aber stelle mir selber auch aufgaben, um nicht immer nur die mehr oder weniger fertigen Programme des Buches zu nutzen.
Das Programm soll:
1. abfragen wie viele Zeilen man eingeben möchte
2. die Zeilen eingeben lassen und in einem Array abspeichern
3. die Zeilen in ein txt Dokument packen.
blueJ: "cannot find Symbol - variable cons"

Java:
import java.io.*;

public class Eingeben
{
public static void main(String[] args)
{
Console cons = System.console();
cons.printf("\n");
int eZeilen;
eZeilen=0;
//Zeilen();
//Eingabe();
//Speichern();
}
public void Zeilen()
{
try {
cons.printf("Geben Sie die Anzahl Zeilen ein, die sie schreiben wollen: ");
String eingabe = cons.readLine();
int Zeilen = Integer.parseInt(eingabe);
eZeilen = Zeilen;
}
catch (NumberFormatException e){
System.err.println("\n Fehler! \n" + "Zaasjdklhfkjshdakjfhlasd");
}
}
public void Eingabe()
{
String[] ansZeile = new String[eZeilen];
for (int i = 0; i<eZeilen; i++)
{
try{
cons.printf("Zeile " + i + ": ");
String test=cons.readLine();
ansZeile(i) = test;
}
catch (exception e) {
System.err.println(e);}
}
}
public void Speichern()
{
try{
PrintWriter ausgabe = new PrintWriter("Text.txt");
for(int i=0; i<Zeilen; i++)
{ausgabe.printf(" " + Zeile(i) + "%n");
}}
catch(exception e) {
System.err.println(e);
}
}
}

wenn ich allerdings nur eine Eingabe abfrage, und die dann auf dem Bildschirm ausgebe, funktioniert cons...
Ich bin leider noch nicht sonderlich lange in java drin, das heißt es kann sein, dass das ein ziemlich blöder fehler ist, allerdings komme ich seit 2h nicht weiter und habe jetzt so langsam die nerven verloren. Ach ja, der Fehler kommt in Zeile 18 vor
Im konstruktpr habe ich den Aufruf der Metoden als Kommentar gesetzt, da da auch ein Fehler kommt, den ich vorher noch nie gesehen habe und erstmal die andern Fehler bearbeiten wollte...

Ich hoffe ihr könnt mir helfen

Elidor
 
Zuletzt bearbeitet von einem Moderator:

Haave

Top Contributor
Console cons gibt es nur in der main-Methode, es ist eine lokale Variable dort. Du versuchst jedoch in den Methoden Zeilen() und Eingabe() auf sie zuzugreifen. Darum findet der Compiler sie nicht.

btw: Das wäre im Anfängerforum besser aufgehoben.
 

elidor

Mitglied
danke erstmal für deine hilfe
ok, wusste ich nicht, wie gesagt, ich bin sowohl in java, als auch hier im forum neu...

Wenn ich das denn trotzdem so machen wollte, ginge das, oder müsste ich das ohne metoden wie früher in z.B. Basic alles untereinander schreiben?
 

Haave

Top Contributor
Ja, wenn du Console cons zu einer Instanzvariablen deiner Klasse Eingeben machst, geht es. Also:
Java:
public class Eingeben {
    Console cons = System.console();
    //restlicher Code
}

Normalerweise initialisiert man Instanzvariablen in einem Konstruktor, aber das führt momentan vielleicht zu weit.

Edit: Ah, du müsstest vielleicht noch
Code:
static
vor Console cons schreiben, damit es geht. Sorry, bin grad nebenbei am Essen machen ^^'
 
Zuletzt bearbeitet:

elidor

Mitglied
jetzt lerne ich java 6

danke, ich probiers eben aus

edit: also mit static geht es gar nicht, und console cons = System.console(); steht da ja schon... oder meinst du, dass da nur das im Konstruktor steht?
 
Zuletzt bearbeitet:

BigBiber89

Mitglied
So sollte es gehen:

Java:
import java.io.*;
 
public class Eingeben
{
	static int eZeilen;
	static Console cons = System.console();
	static int Zeilen;
	static String[] ansZeile;
	
	public static void main(String[] args){
		cons.printf("\n");

		eZeilen =0;
		Zeilen();
		Eingabe();
		Speichern();
	}
	
	public static void Zeilen(){

		try {
			cons.printf("Geben Sie die Anzahl Zeilen ein, die sie schreiben wollen: ");
			String eingabe = cons.readLine();
			Zeilen = Integer.parseInt(eingabe);
			eZeilen = Zeilen;
		}catch (NumberFormatException e){
			System.err.println("\n Fehler! \n" + "Zaasjdklhfkjshdakjfhlasd");
		}
	}
	
	public static void Eingabe(){
		
		String[] ansZeile = new String[eZeilen];

		for (int i = 0; i<eZeilen; i++){

			try{
				cons.printf("Zeile " + i + ": ");
				String test=cons.readLine();
				ansZeile[i] = test;
			}catch (Exception e) {
				System.err.println(e);}
			}
	}
	
	public static void Speichern(){

		try{
			PrintWriter ausgabe = new PrintWriter("Text.txt");

			for(int i=0; i<Zeilen; i++){
				ausgabe.printf(" " + ansZeile[i] + "%n");

			}
		}catch(Exception e) {
			System.err.println(e);
		}
	}
}

Das Problem ist du hast immer lokale Variablen die außerhalb der Methode nicht mehr gültig sind habe das mit statischen Variablen gelöst aber diese Lösung ist auch nicht optimal ;)

Außerdem würde ich zum einlesen den Scanner verwenden:

Scanner (Java Platform SE 6)
 

elidor

Mitglied
hi

ich bin immerhin schonmal einen Schritt weiter. Die Syntacfehler sind !ENDLICH! raus (!DANKEE!), und ich kann jetzt sagen wie viele zeilen ich gerne eingeben möchte, und diese auch eingeben, dann kommt folgender fehler: "java.lang.NullPointerException"
ich denke mal, die errormeldung, die ich vorher erstellt habe. Woran liegt das? - die Text.txt existiert schon, allerdings ist diese dann leer...

edit: ich habe noch folgendes versucht:
[JAVA=52]
for(int i=0; i<Zeilen; i++){
ausgabe.printf(" " + ansZeile + "%n");
ausgabe.close();
}
[/code]
ich hoffe ich habe mich nicht verzählt, das ist die for-schleife in der Metode Speichern
 
Zuletzt bearbeitet:

BigBiber89

Mitglied
Ah das war mein Fehler in der Methode Eingabe() muss das "String[]" vor ansZeilen weg ich lege das Array quasi nochmal lokal an aber es existiert dann nicht global.
 

elidor

Mitglied
wenn ich jetzt z.B. 5 zeilen eingebe, und die erste "hallo" ist, dann sthet in dem Dokument n ur leerstelle hallo... Sonst scheint es zu funktionieren, dafür erstmal ein danke, aber so ganz fehlerfrei scheint es ja noch nicht zu sein...
 

elidor

Mitglied
nein, immernoch das gleiche problem. eigendlich kann es ja nicht an der neuen zeile liegen, würde ein umbruch fehlen, dann würde er doch alles geschriebene hinterienander schreiben, oder? Ich glaube demnächst suche ich mir etwas einfachere aufgaben raus, aber das will ich hinkriegen...
 

BigBiber89

Mitglied
Achso eigentlich ja klar du verwendest in der for-Schleife Zeilen? Aber diese ist auf 0 initialisiert

korrekt wäre es so:

Java:
for(int  i = 0; i < ansZeilen.length; i++){
         ausgabe.printf(" " + ansZeile[i] + "%n");
         ausgabe.close();
}
 

elidor

Mitglied
ja, ich saß gestern schon recht lange davor und mir hat nach einer zeit der kopf geraucht... naja, es funktioniert leider immer noch nicht, jetzt wird zwar das dokument erstellt, aber es steht nichts drin und der o.g. fehler kommt wieder
 

elidor

Mitglied
glaub ich dir ;)

Java:
try{
            PrintWriter ausgabe = new PrintWriter("Text.txt");
 
            for(int  i = 0; i < ansZeile.length; i++){
         ausgabe.printf(" " + ansZeile[i] + "%n");
         ausgabe.close();
}

das ausgabe.close(); ist drin ;)
 

Mofi

Bekanntes Mitglied
Uhm seit ihr euch sicher, dass das [Java]ausgabe.close();[/Java]
in der Schleife stehen muss?
Ich würds ja außerhalb schreiben, weil so wird das alles ja in jedem Schleifendurchgang geschlossen, was für mich unlogisch erscheint. (Einmal am Ende sollte ja eigentlich reichen?)
 

ARadauer

Top Contributor
glaub ich dir ;)

Java:
try{
            PrintWriter ausgabe = new PrintWriter("Text.txt");
 
            for(int  i = 0; i < ansZeile.length; i++){
         ausgabe.printf(" " + ansZeile[i] + "%n");
         ausgabe.close();
}

das ausgabe.close(); ist drin ;)

Das ist genau der Punkt! du musst schon versuchen zu verstehen was da passiert!
Warum machst du denn das innerhalb der Schleife? Was denkst du wird passieren, wenn du zwei zeilen schreiben willst? Dann ist bei der zweiten der Stream geschlossen. :autsch:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
OnDemand PC identifizieren / Daten auslesen Allgemeine Java-Themen 15
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
J Maven .war enthält veraltete Daten Allgemeine Java-Themen 3
N Daten aus Jar laden Allgemeine Java-Themen 10
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
K Input/Output Daten speichern / laden Allgemeine Java-Themen 2
M Best Practice: Daten aufnehmen-speichern-bereitstellen Allgemeine Java-Themen 8
T Daten effizient verwalten Allgemeine Java-Themen 4
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
R Daten aus DB auslesen in ein formular (JSP) Allgemeine Java-Themen 13
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
H OOP Daten über TCP Allgemeine Java-Themen 5
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
D Daten eines User auslesen. Allgemeine Java-Themen 5
B Input/Output Einbinden von Daten in Java Allgemeine Java-Themen 3
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
ARadauer Wo liegen die Daten der Preferences Klasse Allgemeine Java-Themen 3
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
F Threads synchronisierung des Zugriffes auf daten Allgemeine Java-Themen 4
O Amazon S3 Anmelden / Daten downloaden Allgemeine Java-Themen 2
A Daten aufbereiten Allgemeine Java-Themen 11
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
L Speichern von Daten in JKS Allgemeine Java-Themen 5
K JFreeCharts - Dummy für fehlende Daten Allgemeine Java-Themen 6
M Daten aus doc, pdf .... auslesen Allgemeine Java-Themen 12
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
A Login-Daten Formular automatisch ausfüllen Allgemeine Java-Themen 10
C Daten speichern und verwalten Allgemeine Java-Themen 3
Z Daten aus einer Internetseite auslesen? Allgemeine Java-Themen 2
T Gleichzeitige Zugriffe auf Daten auf dem Server Allgemeine Java-Themen 11
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
K Server Daten Visualisieren Allgemeine Java-Themen 3
F HashMap überschreibt Daten von anderen HashMap Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
A XML-Daten komprimieren Allgemeine Java-Themen 6
W Datei auslesen und die Daten weiter verarbeiten Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben