2017-04-13 1 views
0

Nun, ich bin neu in Java, und ich mache eine Methode, deren Ziel es ist, die durchschnittlichen Noten eines Schülers zurückzugeben, aber anstatt den endgültigen Wert zurückzugeben, bekomme ich den Initialisierungswert der Variablen, die zurückkehrt die Methode.Java-Methode gibt initialize-Variable statt Endwert der Variablen zurück.

Dies ist die Methode:

private int promedio; 
private int average; 

StudentInfo() { 
    this.average = 0; ///THIS IS WHAT THE METHOD IS RETURNING!!! 
    this.totalPercent = 0; 
} 

public int finalAverage() { 
    for (int i = 0, n = quantity-1; i <= n; i++){ 
     average = average + (percentage[i]/100)*(notes[i]) ; ///THIS IS WHAT IT SHOULD RETURN!!!     
    } 
    return average; 
} 

System.out.println("El estudiante " + nombre + " cuenta con un promedio de " + myObj.finalAverage() + "."); 

    if (myObj.finalAverage() < 3){ 
     System.out.println("El estudiante perdio la materia.");    
    }else{ 
     System.out.println("¡FELICIDADES! Ha pasado la materia."); 

Vielen Dank für Ihre Hilfe, und haben schönen Tag. : D

+2

wo soll der flugcode sein, was sind 'n',' menge', etc. Kannst du ein [mcve] posten? –

Antwort

1

Prozentsatz ist wahrscheinlich ein Int. Teilen um 100, ein int auch, verwendet ganzzahlige Division. 99/100 == 0! Teilen Sie am Ende 100, oder verwenden Sie double (weniger nett).

+0

wahr und in Anbetracht OP versucht, den "Durchschnitt" sicher zu finden, sollte er/sie sich für Ihren Vorschlag entscheiden, einen doppelten Typ zu verwenden. –

+1

@OusmaneMahyDiaw könnte einige CS natürlich sein. I.o. durchschnittliche Summe * 100/Anzahl oder so ist machbar. Fließkomma ist in CS nicht beliebt. –

Verwandte Themen