בעיה ב-java
בניתי מחלקה שאמורה לחשב את המספר e, בדיוק של x ספרות אחרי הנקודהץ הבעיה היא שהמחלקה עובדתטוב עד לסיפרה השישית ואז היא מתחילה להחזיר שטויות מישהו יכול לעזור? אולי זה המעבר מ-int ל-double או משהו בסגנון: import java.math.*; public class Calce { /** Creates a new instance of Calce */ public static double calce(int x) { double tmp, dobe1=1, dobe2; int inte1=0, inte2=0; int sumfact=1, last=0; do { dobe1=dobe1 + ( 1 /sumfact); last++; sumfact=last + sumfact; dobe2=dobe1 + ( 1 /sumfact); tmp= dobe1*Math.pow(10,1*x); inte1=(int)tmp; tmp=dobe2*Math.pow(10,1*x); inte2=(int)tmp; } while (inte1!=inte2); return inte1*Math.pow(10,-1*x); } }
בניתי מחלקה שאמורה לחשב את המספר e, בדיוק של x ספרות אחרי הנקודהץ הבעיה היא שהמחלקה עובדתטוב עד לסיפרה השישית ואז היא מתחילה להחזיר שטויות מישהו יכול לעזור? אולי זה המעבר מ-int ל-double או משהו בסגנון: import java.math.*; public class Calce { /** Creates a new instance of Calce */ public static double calce(int x) { double tmp, dobe1=1, dobe2; int inte1=0, inte2=0; int sumfact=1, last=0; do { dobe1=dobe1 + ( 1 /sumfact); last++; sumfact=last + sumfact; dobe2=dobe1 + ( 1 /sumfact); tmp= dobe1*Math.pow(10,1*x); inte1=(int)tmp; tmp=dobe2*Math.pow(10,1*x); inte2=(int)tmp; } while (inte1!=inte2); return inte1*Math.pow(10,-1*x); } }