Java如何填充数组

时间:2015-02-23 09:01:38

标签: java arrays floating-point numbers fill

public static void main(String[] args) {

float numberF[]=new float[7];
displayF(numberF);

}

public static void displayF(float x[]) {

    int one = 1;
    double sum = 0;
    for (int row = 0; row < x.length; row++) {
        sum = Math.pow(one, 2);
        x[row] = (int) sum;

        System.out.printf("%.0f.%.0f ",x[row], x[row] );
        one++;
    }

}

这个方法给了我这个输出:

1.1 4.4 9.9 16.16 25.25 36.36 49.49

但我需要数组用for循环存储上面的数字。现在它只存储1.0 4.0 9.0 etc...

有关如何操作的任何建议吗?

1 个答案:

答案 0 :(得分:0)

还有其他更有效的方法,但最简单的方法就是将你打印的内容解析成浮点数:

x[row] = Float.parseFloat(String.format("%.0f.%.0f", sum, sum));

正如SMA在评论中指出的那样,由于四舍五入的错误,这不会给出确切的答案。如果将数组类型更改为BigDecimal,则可以存储确切的值:

x[row] = new BigDecimal(String.format("%.0f.%.0f", sum, sum));