Erste Schritte Weblog-Auswertung

mrBrown

Super-Moderator
Mitarbeiter
Also ist dir schon alles an dem Code da klar? (Die Schleife kommt noch - Schleife und restlichen Code auf einmal hast du ja nicht hinbekommen^^)
 

JStein52

Top Contributor
Also ich finde ja auch es kann und muss ja nicht jeder Java können. Vielleicht hast du andere Stärken wo du dich wesentlich sinnvoller betätigen kannst. Wenn du meine Meinung hören willst: das mit der Lehre als Anwendungsprogrammierer oder Informatik-Studium wird nichts. Und mit Java solltest du dich einfach nicht weiter quälen.
 

Devanther

Top Contributor
Also bevor du überhaupt die Variable zum Speichern anlegst?

Nein, die Schleife muss nach der Variablendeklaration erfolgen.
Erst wird gesamt zu 0 initialisiert und dannn kommt die Schleife.
Und dann zum Schluss return.

Also ich finde ja auch es kann und muss ja nicht jeder Java können. Vielleicht hast du andere Stärken wo du dich wesentlich sinnvoller betätigen kannst. Wenn du meine Meinung hören willst: das mit der Lehre als Anwendungsprogrammierer oder Informatik-Studium wird nichts. Und mit Java solltest du dich einfach nicht weiter quälen

Ja, man macht es mir hier auch nicht einfach^^
 

Devanther

Top Contributor
Code:
public int anzahlZugriffe() {
   
    int gesamt = 0;
   
    for (int aktuellerZugriff : zugriffeInStunde){
   
    }
    return gesamt;
    }

^^
 

Devanther

Top Contributor
Jetzt muss es nur noch Zugriffe geben, für die Methode anzahlZugriffe()

Du hast jetzt mehrere Tage, 12 Seiten und über hundert Posts in diesem Thread für die vier Zeilen Code da oben gebraucht.

Ja, ich bin auch total durcheinander jetzt....!
Ich schaue mir das morgen nochmal an.
Man hätte es etwas abkürzen können.
 

JStein52

Top Contributor
Man hätte es etwas abkürzen können.
Ja klar. Jeder hier hätte dir gleich im ersten Post die Lösung hinschreiben können. Aber was hilft das ? Man hat dir Verständnisfragen gestellt, versucht dich in die richtige Richtung zu bringen. Aber es hat nicht funktioniert. Deshalb der Rat: andere Dinge liegen dir wahrscheinlich besser. Zumal mit der Hartnäckigkeit die du hier an den Tag legst. Und das meine ich durchaus positiv. ;);)
 

Devanther

Top Contributor
Kann ich fragen, was ihr selbst beruflich macht?
Java will ich auf jeden Fall lernen, weil ich Spaß am logischen Denken habe und wissen will,
wie man Probleme mit Programmierung lösen kann.
Natürlich könnte ich auch BWL Themen wie Marketing lernen, aber das will ich nicht.
Marketing ist fast nur Fleiß und Auswendiglernerei, hat mit Intelligenz wenig zu tun.
Außerdem bietet Informatik sehr gute Beufsmöglichkeiten....!
 

Devanther

Top Contributor
Code:
public int anzahlZugriffe() {
 
    int gesamt = 0;
 
    for (int aktuellerZugriff : zugriffeInStunde){
 
    }
    return gesamt;
    }

Auch ist mir immer noch nicht klar, der Zusammenhang zwischen return gesamt und der for-Schleife.
int gesamt 0; das ist klar.
Was genau wurde da nochmal gemacht in Worten?
Deswegen habe ich mich da so schwer getan.

Wenn die for-Schleife fertig durchlaufen ist, dann gehts wieder nach oben und zu
int gesamt = 0, werden die Elemente addiert.
Und mit return ausgegeben?
 
Zuletzt bearbeitet:

mrBrown

Super-Moderator
Mitarbeiter
Wenn die for-Schleife fertig durchlaufen ist, dann gehts wieder nach oben und zu
int gesamt = 0, werden die Elemente addiert.
Nein, wenn die Schleife durchgelaufen ist, gehts danach weiter - vor die Schleife wird nie gesprungen.

Die Methode soll ja die anzahlZugriffe() ausgeben.
Nein - nur berechnen und zurückgeben, ausgegeben werden soll da nichts.

Wie erzeuge ich diese Zugriffe?
Musst du Zugriffe erzeugen? Zugriff sind doch schon da, du musst nur mit denen was machen.
 

Devanther

Top Contributor
OK nächste Aufgabe:
Fügen Sie eine Methode anzahlZugriffe in die Klasse Protokollauswerter ein und
überprüfen Sie, ob sie das richtige Ergebnis liefert.
Hinweis: Sie können die Prüfung vereinfachen, indem Sie den Auswerter eine Datei mit nur wenigen
Zeilen lesen lassen. Auf diese Weise werden Sie leichter feststellen können, ob ihre Methode das
richtige Ergebnis liefert. Die Klasse LogdateiLeser hat einen Konstruktor mit folgendem Kopf, um
aus einer bestimmten Datei lesen zu können.

/**
*Erzeuge einen LogdateiLeser, der Einträge aus einer
*Datei mit dem angegeben Namen liest.
*@param dateiname der Name der Logdatei.
*/
public LogdateiLeser(String dateiname)

Klasse Protokollauswerter:
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;
   
   
    /**
     * 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() {
   
    int gesamt = 0;
   
    for (int aktuellerZugriff : zugriffeInStunde){
   
    }
    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();
    }
}
 

Devanther

Top Contributor
So die Methode anzahlZugriffe haben wir schonmal.
Welche Datei mit nur wenigen Zeilen soll hier gelesen werden?
Die Klasse Protokollauswerter soll lesen.
Verstehe die Aufgabenstellung nicht ganz.
Das was da über die Klasse LogdateiLeser steht bzw. deren Konstruktor muss ich nun
auf die Klasse Protokollauswerter übertragen?
 

Devanther

Top Contributor
Wäre es nicht sinnvoller, die Methode anzahlZugriffe() erst einmal fertig zu programmieren, bevor du die nächste Teilaufgabe beginnst?

Ja, natürlich! Was fehlt der Methode anzahlZugriffe() noch?
Haben andere hier im Forum nicht behauptet....die Methode wäre schon fertig?
 

Devanther

Top Contributor
Also wenn ich die Methode anzahlZugriffe() aufrufe wird nur eine 0 ausgegeben.
Wie mache ich das so, dass da z.B. 100 oder 200 Aufrufe protokolliert werden?
 

Meniskusschaden

Top Contributor
Also wenn ich die Methode anzahlZugriffe() aufrufe wird nur eine 0 ausgegeben.
Ist dir klar, warum 0 heraus kommt?
Wie mache ich das so, dass da z.B. 100 oder 200 Aufrufe protokolliert werden?
Das steht schon in den Postings #128 bis #130. Aber die Aufrufe sollen da nicht protokolliert werden. Sie wurden ja bereits protokolliert. Du sollst nur die Anzahl der protokollierten Aufrufe ermitteln.
 

Devanther

Top Contributor
Code:
public int anzahlZugriffe() {
  
    int gesamt = 0;
  
    for (int aktuellerZugriff : zugriffeInStunde){
    gesamt++
    }
    return gesamt;
    }
Es muss 1 hinzuaddiert werden, bevor die Schleife wieder verlassen wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Erste Schritte Warum misslingt die Auswertung des ersten Aufrufparameters? Java Basics - Anfänger-Themen 4
topi Parentabfrage, danach "if"-Auswertung Java Basics - Anfänger-Themen 3
T Operatoren Seiteneffekte bei Auswertung von Ausdrücken Java Basics - Anfänger-Themen 9
D statistische Auswertung Java Basics - Anfänger-Themen 1
C Auswertung Ausdruck mit Punknotation + Objekt als Parameter Java Basics - Anfänger-Themen 3
S JTextfield Auswertung mit FocusListener Java Basics - Anfänger-Themen 7
L Problem mit Auswertung von String mit if Java Basics - Anfänger-Themen 10
T Log-Datei Auswertung Java Basics - Anfänger-Themen 7
B [Javadoc] Tutorial für die Auswertung des docs Java Basics - Anfänger-Themen 15
W Datentypen Auswertung von Ausdrücken (Teil 1) Java Basics - Anfänger-Themen 7
N auswertung von bildern Java Basics - Anfänger-Themen 14
C Denkanstoss für meine Auswertung Java Basics - Anfänger-Themen 5
C Auswertung Java Basics - Anfänger-Themen 5
B Auswertung eines Ausdrucks Java Basics - Anfänger-Themen 10
M seltsames Phänomen in der Auswertung boolscher Variablen Java Basics - Anfänger-Themen 7
V Grafische Auswertung (Ampel-System) Java Basics - Anfänger-Themen 12
M zahlenimport und auswertung Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben