我可以在 Java 中设置除法结果的最终变量吗?
Can I set a final variable in Java with a result of a divison?
我想要一个全局范围的变量,这样一些图形对象相对于 window 可以始终具有相同的大小。我的想法:
public static final double GLOBALSCALE = SCREENWIDTH / 1920;
但那时我的变量为零。
它发生在单例模式的数据字段中-Class..我理解错了吗?
您将 int 与 int 相除并期望结果为 double 是错误的。您需要除以双倍:
public static final double GLOBALSCALE = SCREENWIDTH / 1920.0;
注意区别,1920.0
是双精度型,而 1920
是整数型。如果两者之一是 double java 将不会进行整数除法而是 double。
或者像这样将除法转换为双精度数:
public static final double GLOBALSCALE = SCREENWIDTH / (double)1920;
我想要一个全局范围的变量,这样一些图形对象相对于 window 可以始终具有相同的大小。我的想法:
public static final double GLOBALSCALE = SCREENWIDTH / 1920;
但那时我的变量为零。 它发生在单例模式的数据字段中-Class..我理解错了吗?
您将 int 与 int 相除并期望结果为 double 是错误的。您需要除以双倍:
public static final double GLOBALSCALE = SCREENWIDTH / 1920.0;
注意区别,1920.0
是双精度型,而 1920
是整数型。如果两者之一是 double java 将不会进行整数除法而是 double。
或者像这样将除法转换为双精度数:
public static final double GLOBALSCALE = SCREENWIDTH / (double)1920;