-7
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;
私の問題は私の間違いです。私は何が間違っているのか分からない。正しいことを得るためにはどうすれば変更できますか?私はプログラムに引数を与えなければなりません。また、 "heron process"のルートを作る必要があります。小数点以下は30小数でなければなりません。
あなたの 'while'は空です。 'while'はブロック' {} 'をとります。あなたはただ一つの空のステートメント'; 'を与えただけです。 –