![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Hero
![]() |
![]() Hallo Leute!
Was stimmt mit folgendem Code nicht? Code:
import java.io.*; public class DateiLeser { /** * @param args * @return */ public void EingabeDatei(String dateiname) throws IOException{ // TODO Auto-generated method stub FileReader datei; int c, i = 0, count=0; try { datei = new FileReader(dateiname); while ((c = datei.read()) != -1) { count++; // Ermittle die Größe des Charr Arrays } datei.close(); datei = new FileReader(dateiname); char[]name = new char[count]; while ((c = datei.read()) != -1) { name[i++] = (char)c; // Beschreibe das CharArray, solange es Zeichen gibt! } datei.close(); System.out.print(name); // HIER IST DIE AUSGABE MÖGLICH BRAUCHE SIE ABER WEITER UNTEN } catch(IOException e) { System.err.println("Fehler beim Lesen der Datei!"); } System.out.println(""); } // System.out.print(name); HIER IST DIE AUSGABE NICHT MÖGLICH, HAT DAS MIT DEM TRY CATCH ZU TUN? } Grüße Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst! Website RI Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden. |Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker| If you want to see the Sky, fuck a Duck and learn to fly! Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten! Möge die MACHT mit uns sein! |
![]() |
![]() |
![]() |
#2 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Willst du die Variable außerhalb der Methode ausgeben? Dort ist sie nicht bekannt. Da müßtest du eine Member-Variable anlegen.
Falls du sie aber direkt nach dem try/catch Block ausgeben willst, definiere sie einfach gleich nach "FileReader datei", dann ist sie an der Stelle bekannt. Übrigens, wenn du eine throws IOException Klausel angibst, dann brauchst du die IOException nicht abzufangen. Die Methode wirft ja keine Exception, so wie sie jetzt geschrieben ist. |
![]() |
![]() |
![]() |
#3 |
Hero
![]() |
![]() Hallo delphirocks!
Folgendes, ich möchte: ... Falls du sie aber direkt nach dem try/catch Block ausgeben willst, definiere sie einfach gleich nach "FileReader datei", dann ist sie an der Stelle bekannt. ... Das Problem ist aber, dass ich mit dem ersten new FileReader die Anzahl der Zeichen bestimme. Jetzt brauche ich aber die count Variable dafür. Da ich aber nicht weiß, wie groß die Anzahl der Zeichen ist, wird erst später unten berechnet, kann ich nicht am Anfang bereits das CharArray mit dem Wert der Count Variablen initialisieren, was mache ich da? Die Ausgabe soll unten nach dem Try/catch Block sein. Bytheway bist du professioneller Javaprogrammierer? Code:
try { datei = new FileReader(dateiname); while ((c = datei.read()) != -1) { count++; // Ermittle die Größe des Charr Arrays } datei.close(); datei = new FileReader(dateiname); char[]name = new char[count]; while ((c = datei.read()) != -1) { name[i++] = (char)c; // Beschreibe das CharArray, solange es Zeichen gibt! } datei.close(); System.out.print(name); // HIER IST DIE AUSGABE MÖGLICH BRAUCHE SIE ABER WEITER UNTEN } Grüße Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst! Website RI Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden. |Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker| If you want to see the Sky, fuck a Duck and learn to fly! Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten! Möge die MACHT mit uns sein! |
![]() |
![]() |
![]() |
#4 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Du kannst ja vorher die Variable deklarieren, ohne ihr einen Wert zuzuweißen
![]() dh. Code:
char[]name; try { ... name = new char[count]; ... } catch(IOException e) { ... } System.out.print(name); |
![]() |
![]() |
![]() |
#5 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Du mußt aber sagen
char[] name=null; Ansonsten regt sich der Java Compiler auf, daß die Variable nicht initialisiert wurde. Bin übrigens professioneller C++/Delphi/PLSQL/C#/PHP Progammierer - mache nur ganz selten einen Abstecher in die Java-Welt. lg |
![]() |
![]() |
![]() |
#6 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Guten Morgen!
Hab das jetz nur kurz ausprobiert, aber du musst die Variable eigentlich nicht initialisieren (Java 1.5.07, schneller Test im JDeveloper) Code:
public class Class1 { public static void main (String args[]) { char[] name; name = new char[1]; System.out.print(name); } } ![]() mfg Thomas |
![]() |
![]() |
![]() |
#7 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Nach einem try/catch funktioniert's aber nicht mehr (JDK 1.6.0-Beta).
Ist aber auch streng, das Java ![]() |
![]() |
![]() |
![]() |
#8 |
Hero
![]() |
![]() Hallo Leute!
Bin auf den Fehler draufgekommen, leider nur durch einen Zufall, Schande über mein Haupt. Bin aber froh, dass es auch keiner im allerersten Posting des Codes von mir gefunden hat == Betriebsblindheit, bei mir viel mehr Anfängerschwierigkeite beim Java lernen. Der Fairness halber muss ich sagen, ich dachte auch zuerst es hat mit dem Try/catch zu tun. Neee, schneckeeeeee natürlich nicht. Schaut Euch mal an, wo ich mit das letzte mal das Array ausgeben wollte. ... na gefunden ... ich wollte es zwar innerhalb der Methode ausgeben, nach dem Try/Catch aber nicht auf Ebene der Klasse. aaaaaaaarrrrrrrrrrrrrrggggggggggggggg ![]() Danke trotzdem für die Hilfe. Frage an delphirocks: Kommst du vielleicht aus meiner Gegend, suche nämlich eine günstige Nachhilfe für die FH (Wien). Oder kennt sonst noch jemand wer, der mir günstig in Programmier unter die Vitiche greifen kann. (rein programmiertechnisch, nix sexuelles ![]() ![]() ![]() Grüße Coolbininet
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst! Website RI Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden. |Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker| If you want to see the Sky, fuck a Duck and learn to fly! Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten! Möge die MACHT mit uns sein! |
![]() |
![]() |
![]() |
#9 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Komme aus Salzburg und könnte dir in Java auch nicht recht viel mehr als "Hello World" beibringen
![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|