我可以在Java中使用divison的结果设置最终变量吗?

时间:2015-04-27 17:53:54

标签: java static singleton final

我想拥有一个全局范围的变量,因此一些图形对象总是可以与窗口相关的大小相同。我的想法:

public static final double GLOBALSCALE = SCREENWIDTH / 1920;

但那时我的变量为零。 它发生在Singleton-Patterned-Class的数据域中..我明白了什么不对吗?

1 个答案:

答案 0 :(得分:3)

你把一个int分成了一个int并且期望一个双倍的结果。你需要用双倍的方式来代替:

public static final double GLOBALSCALE = SCREENWIDTH / 1920.0;

注意区别,1920.0是双倍,而1920是int。如果两个中的一个是双java则不会进行整数除法而是双倍。

或者像这样将分裂投射到双重身上:

public static final double GLOBALSCALE = SCREENWIDTH / (double)1920;