簡體   English   中英

數學計算中的Java錯誤

[英]Java error in mathematical computation

我正在嘗試在表格中打印以下系列:

m(i) = 1/2 + 2/3 + ... + i/(i + 1)

該表如下所示:

im(i) 1 0.5000 2 1.1667 ... 19 16.4023 20 17.3546

但是我現在得到的表是:

1 0.5 2 0.6666666666666666 3 0.75 4 0.8 5 0.8333333333333334 6 0.8571428571428571 7 0.875 8 0.8888888888888888 9 0.9 10 0.9090909090909091 11 0.9166666666666666 12 0.9230769230769231 13 0.9285714285714286 14 0.9333333333333333 15 0.9375 16 0.9411764705882353 17 0.9444444444444444 18 0.9473684210526315 19 0.95 20 0.9523809523809523

我到目前為止的代碼如下:

public class Help {

public static double printSeries(int ch1, int ch2){

    for (int i=ch1; i <= ch2; i++){
        double iPlusOne = i+1;
        double mi =+ i/iPlusOne; 
        System.out.println(i + "      "  + mi);

    }// end of for loop
    return 0.00;
}// end of printSeries method

public static void main(String args[]){
    printSeries(1, 20);
}// end of main method

}// end of class

由於某種原因, mi並未將mi添加到自身中。 我的代碼語法有問題嗎?

謝謝

語法錯誤。 你有=+應該是+= 編譯器不反對,因為它仍然是有效的語句。

杜德(Dude)是您在循環本身中聲明的,因此在每次迭代中,它都會創建一個新的mi變量。 這樣嘗試

public class Help {

public static double printSeries(int ch1, int ch2){
    double mi=0;
    double iPlusOne=0;
    for (int i=ch1; i <= ch2; i++){
        iPlusOne = i+1;
        mi += i/iPlusOne; 
        System.out.println(i + "      "  + mi);

    }// end of for loop
    return 0.00;
}// end of printSeries method

public static void main(String args[]){
    printSeries(1, 20);
}// end of main method

}// end of class

輸出:

1      0.5
2      1.1666666666666665
3      1.9166666666666665
4      2.716666666666667
5      3.5500000000000003
6      4.4071428571428575
7      5.2821428571428575
8      6.171031746031746
9      7.071031746031746
10      7.980122655122655
11      8.896789321789322
12      9.819866244866246
13      10.748437673437675
14      11.681771006771008
15      12.619271006771008
16      13.560447477359244
17      14.504891921803688
18      15.45226034285632
19      16.40226034285632
20      17.354641295237272

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM