bruch in java darstellen?
hallo leute ich muss folgendes programm schreiben. ist ziemlicch simple (Summe von quadranten) und habe eine formel die ich benutzen muss( ich weiß dass es einfacherere wege gibt aber es muss nach der formel sein)
und zwar in einer schleife diese formel eingeben und dann inkremieren nach jedem durchlauf(do-while schleife ist ein muss)
1/6n * (n+1) *(2n+1)
ich bin mir nicht wie man den bruch in java darstellt vielen dank im voraus
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
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! ;)
Du schreibst einfach (1/6).
Java rechnet dann schon richtig.
Ich hoffe, ich konnte dir helfen.
LG Willibergi
Richtig, wobei dort immer noch ein minimaler Rundungsfehler auftreten dürfte.
(c = 54,999999999999)
LG Willibergi
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