If / While Programm (Datei auslesen)

  • Themenstarter Gelöschtes Mitglied 61081
  • Beginndatum
G

Gelöschtes Mitglied 61081

Gast
Guten Abend, wir haben diese Aufgabe gestellt bekommen:





Meine Lösung wäre eigentlich so, jedoch funktioniert das nicht. Es wird der else Befehl ausgelöst und "Die Datei existiert nicht" ausgegeben.

Meine Frage ist: Stimmt denn das Programm soweit? Sollte es eigentlich funktionieren oder findet jemand einen Fehler?

Falls alles sonst stimmt, dann liegt der Fehler darin, wie ich das File eingefügt habe (irgendwie falscher Pfad, oder falsch erstellt?)
Java:
//Zuerst erstellen sie eine Zahlenliste in einer txt-Datei.
//Jede Zeile der Datei sollte aus einer ganzen Zahl bestehen.
//Dann schreiben sie ein Programm, das den Durchschnitt aller Zahlen ausgibt.


package aufgabe7;

import java.io.*;
import java.util.*;

public class Aufgaben {

    public static void main(String[] args) throws FileNotFoundException {

        File datei = new File("/Users/Matze/Documents/Textdatei.txt ");

        if (datei.exists()) {

            Scanner eingabe = new Scanner(datei);

            int Reihenzahl = 0;
            int Zähler = 0;
            double Summe = 0;
            double Ergebnis;
            while (eingabe.hasNext()) {

                Reihenzahl = Reihenzahl + 1;

            }

            System.out.println("Reihenzahl" + Reihenzahl);

            eingabe = new Scanner(datei);

            while (Zähler <= Reihenzahl) {

                int Zahl = eingabe.nextInt();
                Summe = Zahl + Summe;
                Zähler = Zähler + 1;
            }

            Ergebnis = Summe / Reihenzahl;

            System.out.println(Summe);
        } else {

            System.out.println("Die Datei existiert nicht");

        }
    }

}


Vielen Dank für die Hilfe!
 
kneitzel

kneitzel

Top Contributor
Evtl. liegt es an dem Leerzeichen, das nach dem .txt des Dateinamens noch kommt?
 
G

Gelöschtes Mitglied 61081

Gast
Danke, das Leerzeichen hat insofern geholfen, dass jetzt keine Fehlermeldung mehr kommt, ergo der If Befehl ja ausgeführt werden müsste.
Jedoch kommt der Prozess nicht zum Ende. Im Anhang ein Bild. Es runnt und runnt und nichts passiert.
 
G

Gelöschtes Mitglied 61081

Gast
Hier das Bild.
 

Anhänge

  • Bildschirmfoto 2019-11-05 um 22.16.30.png
    Bildschirmfoto 2019-11-05 um 22.16.30.png
    35,4 KB · Aufrufe: 10
Ullenboom

Ullenboom

Bekanntes Mitglied
Nutze beim Scanner immer Paare von hasNextXXX() und nextXXX() -- die 1. Methode sagt, ob noch etwas im Strom ist, die 2. Methode gibt dir das Token zurück.
 
G

Gelöschtes Mitglied 61081

Gast
Ich verstehe nicht.. Was meinst du?

Ich habe eingabe.hasNext( ) verwendet, da der Scanner immer eine Zeile weiter runter rutschen soll, nachdem er einen Wert eingelesen hat. In der Vorlesung hat das auch noch geklappt nach dem Schema.
 
H

httpdigest

Top Contributor
Er meint damit, dass die Scanner.hasNextXXX() Methode selbst den Strom nicht weiterliest. Scanner.hasNextXXX() gibt nur zurück, ob es ein nächstes einzulesendes Token vom Typ XXX gibt. Wenn du dieses Token aber per Scanner.nextXXX() niemals abholst, bleibt der Scanner immer vor dem ersten Token stehen und du kannst so oft Scanner.hasNextXXX() aufrufen, wie du willst. Es wird immer true zurückgeben, wenn der allererste Aufruf auch true lieferte.
Nochmals: Scanner.hasNextXXX() wandert im Eingabestrom nicht von selbst weiter. Das tuen nur die Scanner.nextXXX() Methoden.

Kleiner Test, um zu sehen, dass Scanner.hasNextXXX() eben NICHT im Strom vorfährt:
Java:
import java.util.Scanner;
public class ScannerTest {
  public static void main(String[] args) {
    Scanner scanner = new Scanner("123");
    while (scanner.hasNextInt()) {
      System.out.println("Ja!");
    }
  }
}
Dieser Code gibt kontinuierlich "true" aus.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G While/If Programm Java Basics - Anfänger-Themen 2
F Programm bricht While Schleife nicht ab Java Basics - Anfänger-Themen 4
S Operatoren Programm verlässt Do-While Schleife nicht - Warum? Java Basics - Anfänger-Themen 18
C While-Programm Java Basics - Anfänger-Themen 14
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
S Do-While Schleife Java Basics - Anfänger-Themen 6
J Von While zu for Java Basics - Anfänger-Themen 42
L String in Do-While-Schleife Abbruchkriterium Java Basics - Anfänger-Themen 1
UnknownInnocent Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
G Flussdiagramm-Do while Java Basics - Anfänger-Themen 4
B Verschachtelung von For-Schleife in While Schleife Java Basics - Anfänger-Themen 14
G while schleife Java Basics - Anfänger-Themen 11
G while schleife mit array Java Basics - Anfänger-Themen 12
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
I Do-While / Kalkulator / Bitte um Hilfe Java Basics - Anfänger-Themen 9
G While schleife Java Basics - Anfänger-Themen 2
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
N while Schleife wird nicht beendet, obwohl Sie hätte breaken sollen Java Basics - Anfänger-Themen 4
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
O Erste Schritte Zahlendreieck mit While Java Basics - Anfänger-Themen 2
D Break Sprungmarken Problem einer While True in While True Java Basics - Anfänger-Themen 6
A Erste Schritte while-Schleife Java Basics - Anfänger-Themen 38
W While-Loop unterbrechen Java Basics - Anfänger-Themen 4
X While Do schleife funtioniert nicht Java Basics - Anfänger-Themen 5
J 2 "while"-Anweisungen in einer do-Schleife? Java Basics - Anfänger-Themen 4
W while Schleife und Bedingung Java Basics - Anfänger-Themen 11
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
J While Schleife Java Basics - Anfänger-Themen 19
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
E Threads Thread in While-Schleife nur einmal starten Java Basics - Anfänger-Themen 2
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
b1ck while-Schleife Java Basics - Anfänger-Themen 10
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
kilopack15 DoWhile-Schleife als While-Schleife darstellen Java Basics - Anfänger-Themen 9
A While-Schleife funktioniert nicht! Java Basics - Anfänger-Themen 33
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
E Alphabet mit einer while Schleife ausgeben Java Basics - Anfänger-Themen 3
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
F Reached end while parsing Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
$ Multiplikations-Rechner mit while Schleife Java Basics - Anfänger-Themen 8
T Variablen Var aus While-Schleife abfragen -.-' Java Basics - Anfänger-Themen 9
snipesss Schlüsselworte While Schleife Java Basics - Anfänger-Themen 3
snipesss While Schleife Java Basics - Anfänger-Themen 6
F Case in While? Java Basics - Anfänger-Themen 6
A Do-While Schleife; int vergleich Java Basics - Anfänger-Themen 2
K For Schleife in While Schleife umwandeln Java Basics - Anfänger-Themen 5
Ste3et_C0st Dynamische While/For Schleife Java Basics - Anfänger-Themen 7
L do-while-Schleife läuft doppelt, try catch fehler Java Basics - Anfänger-Themen 12
A While und For Schleife Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur do while- und while-Schleife Java Basics - Anfänger-Themen 4
C Do-While Schleife (Fehler bei der Klammerung?) Java Basics - Anfänger-Themen 8
A Erste Schritte n² per while berechenbar? Java Basics - Anfänger-Themen 7
C while-Schleife wird zuoft durchgeführt Java Basics - Anfänger-Themen 2
C Erste Schritte While-Schleifen-Problem Java Basics - Anfänger-Themen 3
F Problem do while Schleife und Scanner Java Basics - Anfänger-Themen 2
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
S Verständnis - Frage mehrere SQL Statements in While Schleife Java Basics - Anfänger-Themen 0
C Erste Schritte Warum ist die While Schleife so schnell? Java Basics - Anfänger-Themen 5
A was wird in der while schleife gemacht Java Basics - Anfänger-Themen 3
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
J while(nst == 0) gibt Fehlermeldung Java Basics - Anfänger-Themen 4
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
Z Logikfehler do-while Schleife Java Basics - Anfänger-Themen 4
S Warum erlaubt ein while-Loop keine Variablen-Declaration wie der for-Loop..? Java Basics - Anfänger-Themen 6
E While-Schleife Java Basics - Anfänger-Themen 6
D Textfield im Game ,Problem: while-Schleife Java Basics - Anfänger-Themen 1
A Probleme mit While Schleife Java Basics - Anfänger-Themen 10
M Fibonacci-Folge mit while-Schleife Java Basics - Anfänger-Themen 4
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
P fibonacci - do while Statement Logik Fehler Java Basics - Anfänger-Themen 5
LangUndBreit Erste Schritte 100% cpu auslastung (evtl unendliche while schleife?) Java Basics - Anfänger-Themen 1
J while (eingabe == "0") eingabe = JOptionPane.showInputDialog("...") Java Basics - Anfänger-Themen 5
T Wie vergleiche ich die Jahre aus der while Schleife die in ( public class) fuer cbx geschrieben sind Java Basics - Anfänger-Themen 5
T while Schleife Java Basics - Anfänger-Themen 22
V While-Loops Java Basics - Anfänger-Themen 13
N While Schleife Erklärung Bitte Java Basics - Anfänger-Themen 3
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben