谷歌搜索时我找不到任何东西 所以 我想只在它不存在的情况下创建一个数组。
编辑:我的意思是没有初始化我知道如何检查数组中的值
应该很简单,但我卡住了
最好的问候
static long f(long n) {
int m = (int)n;
**if (serie == null) {
long[] serie = new long[40];
}**
if (n == 0) {
return 0;
}
else if (n==1) {
return 1;
}
else {
long asdf = f(n-1)- 2*(f(n-2)) + n;
return asdf;
}
}
这样的事情
一个递归函数,我想将值保存在数组中
答案 0 :(得分:3)
您正在尝试使用serie
数组,但尚未声明。首先声明它,然后根据需要使用它。
答案 1 :(得分:2)
您在寻找:
if (values == null)
{
values = new int[10];
}
或类似的东西?如果没有,请编辑您的问题以提供更多信息。
编辑:好的,根据更新的问题判断,我怀疑你应该有两种方法:static long f(long n)
{
return f(n, new long[40]);
}
static long f(long n, long[] serie)
{
// Code as before, but when you recurse, pass in serie as well
}
(请注意,您当前的代码根本不会使用 serie
。)
答案 2 :(得分:2)
if(array==null){
//create new array
}
答案 3 :(得分:0)
AFAIK,如果你在java中使用一个变量,它就会被初始化。因此,您可能想要检查该变量(在本例中为数组)是否为空。不仅如此,你可以并且可能应该检查它是否是一个数组。数组是java中的对象。所以你可以为数组做这样的事情:
if(!obj.getClass().isArray())