Hallo zusammen,
ich habe folgende Funktion:
Wenn ich nun
schreibe, erhalte ich 0 als Ergebnis für punkteT1. Mir ist jetzt allerdings unklar warum das so ist.
Da bis auf punkteT1 alle Zahlen Integer (und auch > 0) sind, sollte die Rechenoperation doch erst mal ganzzahlig durchgeführt werden und das Ergebnis danach erst in einen Double konvertiert werden. Das bedeutet in diesem Fall, dass ich auf jeden Fall ein Ergebnis > 0 erhalten sollte (ohne jetzt auf die Genauigkeit des Ergebnisses einzugehen).
Hab ich hier irgendwo einen Denkfehler?
Grüße
ich habe folgende Funktion:
Java:
public double punkteNachGewichtung(int t1, int t2, int t3){
int prozTeil1 = 20; //Gewichtung für Teil 1
int prozTeil2 = 30; //Gewichtung für Teil 2
int prozTeil3 = 50; //Gewichtung für Teil 3
double punkteT1 = (double)prozTeil1 / 100 * t1;
double punkteT2 = (double)prozTeil2 / 100 * t2;
double punkteT3 = (double)prozTeil3 / 100 * t3;
double punkteTestGesamt = punkteT1 + punkteT2 + punkteT3;
return punkteTestGesamt;
}
Wenn ich nun
Java:
double punkteT1 = prozTeil1 / 100 * t1;
Da bis auf punkteT1 alle Zahlen Integer (und auch > 0) sind, sollte die Rechenoperation doch erst mal ganzzahlig durchgeführt werden und das Ergebnis danach erst in einen Double konvertiert werden. Das bedeutet in diesem Fall, dass ich auf jeden Fall ein Ergebnis > 0 erhalten sollte (ohne jetzt auf die Genauigkeit des Ergebnisses einzugehen).
Hab ich hier irgendwo einen Denkfehler?
Grüße