bruch in java darstellen?

... komplette Frage anzeigen

3 Antworten

Du rechnest erst das Produkt aus und teilst am Ende durch 6. wenn du integer durch integer teilst, kommt integer raus 1/6 ergibt dann Null, egal mit was du das anschließend mal nimmst.

S = n * (n+1) * (2*n+1)/6

Antwort bewerten Vielen Dank für Deine Bewertung

Du schreibst einfach (1/6).

Java rechnet dann schon richtig.

Ich hoffe, ich konnte dir helfen.

LG Willibergi

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von leonardomessi
27.04.2016, 14:53

public class Aufgabe3 {
public static void main(String[]args){

double a,b,c;
double z=5;
a=(z+1)*((2*z)+1);
b=((1/6)*z);
c= a*b;
System.out.println(c);
}

}

es kommt 0 raus obwohl 55 das richtige ergebnis ist

0
Kommentar von Willibergi
27.04.2016, 15:04

Richtig, wobei dort immer noch ein minimaler Rundungsfehler auftreten dürfte.
(c = 54,999999999999)

LG Willibergi

0

Eine Ganzzahldivision von 1 / 6 liefert 0!

Nimm einfach Gleitpunktzahlen: 1.0 / 6.0 * n * (n + 1) * (2 * n + 1)

Wie du siehst, Multiplikationszeichen nicht weglassen sondern immer explizit schreiben!

Viel Spaß noch mit der vollständigen Induktion! ;)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?