【发布时间】:2016-04-14 11:24:04
【问题描述】:
public static BigDecimal bessereZieheWurzel(int zahl){
BigDecimal bessereZahl = new BigDecimal(zahl);
BigDecimal x = new BigDecimal(zahl);
BigDecimal zwei = new BigDecimal(2);
BigDecimal endErg = bessereZahl;
BigDecimal zwischenErg = new BigDecimal(0);
BigDecimal epsilon = new BigDecimal(0.000000000000000000000000000001);
int anzahlSchritte = 1;
BigDecimal variable = new BigDecimal(zahl);
zwischenErg = bessereZahl.divide(x,30, RoundingMode.DOWN).add(x);
zwischenErg = zwischenErg.divide(zwei,30, RoundingMode.DOWN);
BigDecimal letzterDurchlauf = zwischenErg;
x=zwischenErg;
while(letzterDurchlauf.subtract(endErg).compareTo(epsilon) == 1);
endErg = variable.divide(x,30, RoundingMode.DOWN).add(x);
endErg = endErg.divide(zwei,30, RoundingMode.DOWN);
anzahlSchritte ++;
return endErg;
我的问题是我的时间不对。我不知道那里有什么问题。如何更改时间以获得正确的结果?
【问题讨论】:
-
您的
while为空。while需要一个块{ },你只是给了它一个空语句;。
标签: c#