Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » multiarray » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
neuling96

vielen dank Wink
eulerscheZahl

Sieht gut aus Daumen hoch

Ein allgemeiner Rat:
nutze wenn möglich keine festen Zahlen, sondern Konstanten
Wenn z.B. ein neuer Student dazukommt, musst du das nicht nur oben bei der Arraydefinition ändern, sondern auch bei der Berechnung des Durchschnitts.

Die 42 kriegst du mit studentenPunkte.length
Die 8 mit studentenPunkte[0].length
neuling96

code:
1:
2:
3:
4:
5:
6:
7:
public static double durchschnittsPunktezahl(int aufgabe) {
	double sum= 0;
        for (int i=0; i<42;i++) 
        sum += studentenPunkte [i][aufgabe] ;
    }
  return sum/42 ;
}


und fertig?
eulerscheZahl

Es kommt darauf an, wo du das schreibst.
Für Klassenvariablen ist das zutreffend, wenn die Variable aber lokal in der Funktion erstellt wird, dann musst du sie Initialisieren.
neuling96

int sum = 0; //initialisieren

ich dachte wenn man int sum, hinschreibt wird automatische int sum =0 gesetzt?
neuling96

code:
1:
2:
3:
4:
5:
6:
7:
public static double durchschnittsPunktezahl(int aufgabe) {
	double sum;
        for (int i=0; i<42;i++) 
        sum += studentenPunkte [i][aufgabe] ;
    }
  return sum/42 ;
}
eulerscheZahl

studentenPunkte [student][aufgabe] = punkte gilt so lange, bis man wieder etwas anderes hineinschreibt.

void heißt, dass díe Funktion keinen Rückgabewert hat.

Zur Summenberechnung:
code:
1:
2:
3:
4:
5:
6:
7:
public static int gesamtPunktezahl(int student) {
    int sum = 0; //initialisieren
    for (int i=0;i<8;i++) {
        sum += studentenPunkte [student][i] ;
    }
    return sum; //nicht vergessen, das Ergebnis zurückzugeben
}
neuling96

Zitat:
Original von eulerscheZahl
Nein, damit überschreibst du den Eintrag ja mit dem, was vorher auch schon drinstand.

code:
1:
2:
3:
public static void setPunkte(int student, int aufgabe, int punkte) {
    studentenPunkte [student][aufgabe] = punkte;
}


d.h ab sofort ist studentenPunkte [student][aufgabe] = punkte; fest gelegt ?

void->bedeutet
dass keine Daten übergeben werden oder der Typ der Daten nicht angegeben ist?!


code:
1:
2:
3:
4:
5:
6:
public static int gesamtPunktezahl(int student) {
int sum;
 for (int i=0;i<8;i++) {
 sum += studentenPunkte [student][i] ;
   }
}
eulerscheZahl

Nein, damit überschreibst du den Eintrag ja mit dem, was vorher auch schon drinstand.

code:
1:
2:
3:
public static void setPunkte(int student, int aufgabe, int punkte) {
    studentenPunkte [student][aufgabe] = punkte;
}
neuling96

public static void setPunkte(int student, int aufgabe, int punkte) {
studentenPunkte [student][aufgabe]=getPunkte(student, aufgabe);
}

meinst du so?
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.