Erste Schritte Weblog-Auswertung

Jetzt kommt in anzahlZugriffe() selbst ne Fehlermeldung.

Das ist etwas was dir kein Buch wirklich beibringen kann -> du musst die Fehlermeldungen lesen und verstehen können. Danach musst du auch lernen wie du das Problem lösen kannst!
Manchmal reicht es sich den Code nochmal genauer anzuschauen (Verschreiber, falsche Klammerung oder so) oder aber man muss in die Dokumentation schauen oder im Internet nach der Lösung suchen.
 
bei Int kommt: cannot find symbol - class int

bei ++ kommt: bad operand type int[] for unary operator'++'

bei gesamt kommt: cannot find symbol - variable gesamt
 
Im Prinzip richtig. Nur musst u evtl. nicht eins addieren sondern vielleicht was anderes ..
Und das ganze auch nicht zu zugriffeInStunde ...
 
Nein hat es nicht, lies dir nochmal die Grundlagen zu Arrays durch 😉
Du sollst die Grundlagen verstehen und NICHT IMMER RATEN!
 
Lösch den gesamten Methodeninhalt, und beschreib einfach mal mit Worten ganz unabhängig vom Code, was die Methode machen muss.
 
Ohman^^ ich habe keine Ahnung warum das falsch sein sollte.

Code:
public int anzahlZugriffe() {
    for (int aktuellerZugriff : zugriffeInStunde) {
        int gesamt = zugriffeInStunde[stunde]++;
    }     
    return gesamt;
    }

Ist das jetzt richtig? Es kommt keine Fehlermeldung mehr...nur noch bei gesamt
 
Code:
/**
* Eine Klasse, die das Protokoll eines Webservers
* in Hinsicht auf Zugriffe pro Stunde auswertet.
*
* @author David J. Barnes und Michael Kölling.
* @version 31.07.2011
*/
public class ProtokollAuswerter
{
    // Hier werden die Zugriffe für die Stunden gehalten
    private int[] zugriffeInStunde;
    // Verwendung eines LogdateiLesers
    private LogdateiLeser leser;
   
    private int stunde;
   
    private int gesamt;
    /**
     * Erzeuge ein Exemplar, das die Zugriffe in den
     * Stunden eines Tages zählt.
     */
    public ProtokollAuswerter(String Sebastian)
    {
        // das Array-Objekt erzeugen, das die Zugriffe
        // in den einzelnen Stunden eines Tages zählt.
        zugriffeInStunde = new int[24];
        // Den Leser für die Logdatei erzeugen.
        leser = new LogdateiLeser(Sebastian);
    }

    /**
     * Analysiere die in der Logdatei erfassten Zugriffsdaten.
     */
    public void analysiereStundendaten()
    {
        while(leser.hasNext()) {
            Logeintrag eintrag = leser.next();
            int stunde = eintrag.gibStunde();
            zugriffeInStunde[stunde]++;
        }
    }
    public int anzahlZugriffe() {
    for (int aktuellerZugriff : zugriffeInStunde) {
        int gesamt = zugriffeInStunde[stunde]++;
    }     
    return gesamt;
    }
   
    /**
     * Gib die Anzahl der Zugriffe in den Stunden eines
     * Tages nach Stunden sortiert auf der Konsole aus.
     * Diese Werte sollten zuerst mit einem Aufruf von
     * 'analysiereStundendaten' berechnet werden.
     */
    public void stundendatenAusgeben()
    {
        System.out.println("Stunde: Zugriffe");
        for(int stunde = 0; stunde < zugriffeInStunde.length; stunde++) {
            System.out.println(stunde + ": " + zugriffeInStunde[stunde]);
        }
    }
   
    /**
     * Gib die Zeilen der Logdatei auf der Konsole aus.
     */
    public void logdateiAusgeben()
    {
        leser.datenAusgeben();
    }
}

Ist das richtig? Es kommt gar keine Fehlermeldung mehr.
 
OK angenommen.

Also zugriffeInStunde ist ein Array mit einer Länge von 24. Und da stehen die Anzahl der Zugriffe drin.
Über dieses Array (zugriffeInStunde) muss man mit der Methode anzahlZugriffe iterieren.
Und den Wert von allen Elementen in ZugriffeInStunde muss man zu gesamt hinzuaddieren!
 
Also zugriffeInStunde ist ein Array mit einer Länge von 24. Und da stehen die Anzahl der Zugriffe drin.
Über dieses Array (zugriffeInStunde) muss man mit der Methode anzahlZugriffe iterieren.
Und den Wert von allen Elementen in ZugriffeInStunde muss man zu gesamt hinzuaddieren!
Dann fang dabei mal von hinten an - du brauchst offensichtlich gesamt - was ist das denn?
 
Zeig mal die gesamte Methode und poste immer auch die Fehlermeldung, wenn irgendwas falsch ist (außer die ist nur "Ist falsch", dann lösch deine IDE)
 
Code:
public int anzahlZugriffe() {
    for (int aktuellerZugriff : zugriffeInStunde) {
        int gesamt = 0;
    }     
    return gesamt;
    }

Keine Fehlermeldung.
 

Zurück
Oben