Lesen einer Datei und Drucken des Durchschnitts aus Zeichenfolgen und Ganzzahlen

helpmewithjava

Ich habe eine Textdatei, die zum Beispiel in jeder Zeile einen Namen und eine Folge von ganzen Zahlen enthält

Jules 50 60 40
Ali 45 70 70 90
Emma 45 54

Ich habe dies für meinen Code, aber es druckt nicht den Durchschnitt aus. Ich bin mir auch nicht sicher, wie ich die Folge von ganzen Zahlen lesen soll

   public void AverageMarks(String fName, String pname) {

    BufferedReader br = null;
    try{ 
         br = new BufferedReader(new FileReader(fName));
        }catch(FileNotFoundException e){
        System.out.println("Could not find file");
    }

    try{    
        double average = 0;
        double sum = 0;
        String line;

        while((line = br.readLine()) != null){
          String[] lines = line.split(" ");

           if(pname.equals(lines[0])){
                for(int i =0; i<lines.length; i++){
              sum+= Double.parseDouble(lines[i+1]);
            } 
             average = sum / lines.length;
            System.out.println(average);
            System.exit(0);
          }
          else{
              System.out.println(pname + " No such name");
              System.exit(0);
            }
        }

    }catch(IOException e){
        System.out.println("An error has occured");
    }
    finally{
        System.exit(0);
    }
  }

Zum Beispiel ist der Durchschnitt ein doppeltes ...

  • AverageMarks("myfile.txt","Jules") sollte drucken 50.0
  • AverageMarks("myfile.txt","Ali") sollte drucken 68.75
  • AverageMarks("myfile.txt","Neil") sollte drucken Neil No such name
nur ein bisschen

Das Problem ist, dass Sie keinen elseBlock in Ihrer whileSchleife haben sollten. elseBlockanweisungen sollten nicht angezeigt werden, um sicherzustellen, dass Sie alle Zeilen in der Datei verarbeitet haben und kein solcher Name vorhanden ist. Es gab auch ein Problem mit dem forSchleifenindex. Es sollte 1nicht von beginnen 0. Versuche dies:

public void AverageMarks(String fName, String pname) {

    BufferedReader br = null;
    try{ 
         br = new BufferedReader(new FileReader(fName));
        }catch(FileNotFoundException e){
        System.out.println("Could not find file");
    }

    try{    
        double average = 0;
        double sum = 0;
        String line;

        while((line = br.readLine()) != null){
          String[] lines = line.split(" ");

          if(pname.equals(lines[0])){
            if(lines.length > 1) { // check to calculate average only when there are numbers as well in the line
              for(int i = 1; i<lines.length; i++){ // loop index shold start from 1 as element at index 0 is name
                sum+= Double.parseDouble(lines[i]);
              }

              average = sum / (lines.length - 1);
            }
            System.out.println(average);
            System.exit(0);
          }
        }

        // moved these lines from inside loop, to make sure all the names in the files have been checked
        System.out.println(pname + " No such name");
        System.exit(0);

    }catch(IOException e){
        System.out.println("An error has occured");
    }
    finally{
        System.exit(0);
    }
  }

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Lesen von Spalten mit Zeichenfolgen und Ganzzahlen aus einer Datei

Wie kann man eine Datei, bestimmte Ganzzahlen oder Zeichenfolgen mithilfe des Index in Python schleifen und aus dieser lesen?

Drucken von Zeichenfolgen und Eingaben aus einer Datei

Dynamisches Zuweisen eines Arrays von Ganzzahlen, Speichern in einer Datei und Ermitteln des Durchschnitts in c

C: Laden, Speichern und Drucken einer gemischten Matrix aus Zeichenfolgen und Ganzzahlen

Chinesischen Text aus einer Datei lesen und in die Shell drucken

Lesen einer TXT-Datei und Abrufen von Wörtern / Ganzzahlen als Zeichenfolgen

Wie kann man aus einer Textdatei lesen, Zeichenfolgen von Ganzzahlen trennen und dann Ganzzahlen an eine Arrayliste übergeben?

Der Versuch, eine Liste von Floats, Ganzzahlen und Zeichenfolgen aus einer Datei mit sscanf () in C zu lesen, funktioniert nicht wie erwartet

So drucken und entfernen Sie Ganzzahlen aus einer Datei auf dem Computer

So lesen Sie Rohrbegrenzte Linie | aus einer Datei und Teilen von Ganzzahlen in zwei verschiedenen ArrayList

Lesen und Hinzufügen von Ganzzahlen, die aus einer Datei in C gelesen wurden

Probleme beim Verwenden von Benutzereingaben und FileInputStream zum Erstellen einer Datei und zum Lesen von Ganzzahlen aus dieser Datei

So lesen Sie Text aus einer Datei in ein Array und drucken dann das gesamte Array aus

C Programmierung: Lesen aus einer Datei und Drucken auf dem Bildschirm - Formatierung

Lesen Sie das Wörterbuch aus einer Datei und drucken Sie die Schlüssel

Ganzzahlen aus einer Textdatei lesen und hinzufügen (C)

Lesen Sie nur einige Zeichenfolgen aus einer Datei und speichern Sie sie im Stapel in Java

Lesen von Zeichenfolgen aus einer Datei und Erstellen von Adjazenzlisten für Diagramme

Lesen mobiler Daten (Zeichenfolgen und Zahlen) aus einer Datei in C.

Lesen von Zeichenfolgen aus einer Datei in eine ArrayList und anschließende Konvertierung in ein Array

Lesen Sie Zeichenfolgen aus der Datei und speichern Sie sie in einer Matrix

Lesen und Drucken des Inhalts einer txt-Datei in C.

Erstellen Sie für jede geladene Zeile (aus einer Datei mit gemischten Zeichenfolgen und Ganzzahlen) ein Objekt vom Typ Person

Lesen von Ganzzahlen aus einer Datei in Python

JAVA - Lesen Sie Ganzzahlen aus der TXT-Datei und berechnen Sie Ganzzahlen

Ich muss Text und Ganzzahlen aus einer Datei analysieren

Ganzzahlen und Zeichenfolgenwerte zusammen aus json drucken

Lesen Sie die Zeichenfolgen einzeln aus einer Datei und fügen Sie sie einer verknüpften Liste hinzu

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv