所以,我的任務中有一個問題。它是「添加分數(1/10)+(2/9)+(3/8)+(4/7)+(5/6)+(6/5)+(7/4)+(8/3 )+(9/2)+(10/1),輸出應爲4位小數點「。我寫了一個循環,使用1和10的值隨着我的增加而遞減。它似乎沒有提出正確的答案。它應該是22.218650 ...等,因爲我還沒有限制小數位數,但它沒有給出正確的答案。我得到的輸出是18.0。Java將系列分數加在一起
public class AddThemUp {
// instance variables - replace the example below with your own
public static void main(String [] args) {
int i;
int numer = 1;
int denom = 10;
double addUp = 0.0;
for (i = 1; i <= 10; i++) {
addUp = (numer/denom) + addUp;
numer++;
denom--;
}
System.out.println(addUp);
}
}
addUp println只是爲了看看數學是否正常工作,然後再嘗試找出小數點後的分隔符。我是不是正確地使用了double,還是應該把numer和denom加倍?任何幫助,將不勝感激。
非常好!知道我錯過了一些操作。謝謝一堆。如果數字和denom是雙重的,它會起作用嗎? – user1588867
@ user1588867:那麼你的循環可能會搞砸。最好把int當作int來保留,當你需要的時候把它轉換成double。 –
謝謝。改變了它,現在它工作。剛剛使用DecimalFormat類,現在可以正確打印所有內容。 – user1588867