Was sollen die geschweiften Klammern um "int gesamt = 0" ?public int anzahlZugriffe() {
{
int gesamt = 0;
}
return gesamt;
}
Verstehst du alles davon?
Die du offensichtlich auch nicht verstanden hast - wie auch, wenn du nicht mal so eine einfache Variablendeklaration verstehst?Ich verstehe nichts davon, es war in der Aufgabe doch geschrieben, dass man eine for Schleife benutzen soll...
Also bevor du überhaupt die Variable zum Speichern anlegst?
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
Und wie sieht der Code dazu aus?Nein, die Schleife muss nach der Variablendeklaration erfolgen.
Erst wird gesamt zu 0 initialisiert und dannn kommt die Schleife.
Und dann zum Schluss return.
Damit geh ich vollkommen konformdas mit der Lehre als Anwendungsprogrammierer oder Informatik-Studium wird nichts
Du hast jetzt mehrere Tage, 12 Seiten und über hundert Posts in diesem Thread für die vier Zeilen Code da oben gebraucht.
An der Uni erwartet man übrigens von dir, dass du dir das selbst beibringst.Man hätte es etwas abkürzen können.
An der Uni erwartet man übrigens von dir, dass du dir das selbst beibringst.
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.Man hätte es etwas abkürzen können.
Studieren und Tutorien zur Softwareentwicklung geben^^Kann ich fragen, was ihr selbst beruflich macht?
public int anzahlZugriffe() {
int gesamt = 0;
for (int aktuellerZugriff : zugriffeInStunde){
}
return gesamt;
}
Nein, wenn die Schleife durchgelaufen ist, gehts danach weiter - vor die Schleife wird nie gesprungen.Wenn die for-Schleife fertig durchlaufen ist, dann gehts wieder nach oben und zu
int gesamt = 0, werden die Elemente addiert.
Nein - nur berechnen und zurückgeben, ausgegeben werden soll da nichts.Die Methode soll ja die anzahlZugriffe() ausgeben.
Musst du Zugriffe erzeugen? Zugriff sind doch schon da, du musst nur mit denen was machen.Wie erzeuge ich diese Zugriffe?
Musst du Zugriffe erzeugen? Zugriff sind doch schon da, du musst nur mit denen was machen.
Und den Wert von allen Elementen in ZugriffeInStunde muss man zu gesamt hinzuaddieren!
/**
* 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();
}
}
Wäre es nicht sinnvoller, die MethodeSo die Methode anzahlZugriffe haben wir schonmal.
anzahlZugriffe()
erst einmal fertig zu programmieren, bevor du die nächste Teilaufgabe beginnst?Wäre es nicht sinnvoller, die Methode anzahlZugriffe() erst einmal fertig zu programmieren, bevor du die nächste Teilaufgabe beginnst?
Welches Ergebnis kam denn heraus? War das richtig?Ja, natürlich! Was fehlt der Methode anzahlZugriffe() noch?
Nein.Haben andere hier im Forum nicht behauptet....die Methode wäre schon fertig?
Ist dir klar, warum 0 heraus kommt?Also wenn ich die Methode anzahlZugriffe() aufrufe wird nur eine 0 ausgegeben.
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.Wie mache ich das so, dass da z.B. 100 oder 200 Aufrufe protokolliert werden?
Ist dir klar, warum 0 heraus kommt?
Richtig, aber wie?Du sollst nur die Anzahl der protokollierten Aufrufe ermitteln.
Hast du vllt irgendeine Idee, warum das Ergebniss 0 sein könnte?
Das hast du gestern schon mal gesagt - du musst es nur noch wiederfinden und es umsetzenRichtig, aber wie?
Hast du vllt irgendeine Idee, warum das Ergebniss 0 sein könnte?
Das hast du gestern schon mal gesagt - du musst es nur noch wiederfinden und es umsetzen
Guck dir noch mal diese 4 Zeilen in der Methode an - wo könnte da denn wohl eine 0 herkommen?Leider nicht. Weil keine Zugriffe stattgefunden haben?
Die Zugriffe müssen noch erzeugt werden?
^^Und wo und warum
(Du solltest aufhören zu raten und anfangen drüber nachzudenken...)