如何把一个函数的返回值赋值给一个常量?
有一个三维数组,在程序里起着参数表的作用,计算起来复杂。但只需要计算一次,然后把结果当做常量,以便以后拿来查询。
问题是,这个三维数组是在是太大,在键盘上一项一项敲进去给常量赋值实在是不现实。
所以问题就来了,有什么办法能把一个函数的返回值定义成常量?
多谢!
------解决方案--------------------使用循环不可以吗
------解决方案--------------------定义一个静态变量 ,初始化的时候用函数返回值给他赋值不就行啦,你不动这个静态变量就行啦
------解决方案--------------------static final int pi=getPI();
public static int getPI() {
//复杂计算
return 3;
}
------解决方案--------------------那。。。。只有在静态代码块干这个事了
------解决方案--------------------如果你的函数不是静态的,是对象的方法,你还得new一个对象出来。。
------解决方案--------------------我觉得你的问题类似于下面的需求,用静态语句块给静态变量计算结果,就只会初始化一次,不用new对象,在构造中初始化;
public class StaticTest {
private static int[][] a = null;
static {
a = new int[10][10];
for (int i = 1; i < 10; i++)
{
for (int j = 1; j < 10; j++)
{
a[i][j] = i * j;
}
}
}
public static int[][] getA()
{
for (int i = 1; i < 10; i++)
{
for (int j = 1; j < 10; j++)
{
System.out.print(" " + i + "*" + j + " = " + a[i][j] + ";");
}
System.out.println();
}
return a;
}
public static void main(String[] args) {
StaticTest.getA();
}
}