Java - 转换不产生预期的输出

时间:2017-04-02 07:10:30

标签: java math casting

public class Test { 

public static void main(String[] args) { 

int test = 1; 

System.out.println((double)(Math.pow(test/++test, 2)));

} 

0.0被打印到屏幕上。为什么?演员为什么不按预期工作?

如果以这种方式宣布测试......

double test = 1; 

我得到了我期望打印的内容...... 0.25。

为什么?

我是编程的新手,我正在玩耍。阅读这个级别的一些文档是无用的。

1 个答案:

答案 0 :(得分:0)

你正在进行整数除法。所以将行改为

System.out.println((Math.pow(test/(double)++test, 2)));

做双重划分