Java,如果它没有';不存在
在谷歌搜索的时候,我在上面找不到任何东西 所以 我只想在数组不存在的情况下创建它 编辑:我的意思是没有初始化 我知道如何检查数组中的值 应该很简单,但我被卡住了 致意Java,如果它没有';不存在,java,Java,在谷歌搜索的时候,我在上面找不到任何东西 所以 我只想在数组不存在的情况下创建它 编辑:我的意思是没有初始化 我知道如何检查数组中的值 应该很简单,但我被卡住了 致意 static long f(long n) { int m = (int)n; **if (serie == null) { long[] serie = new long[40]; }** if (n == 0) { return 0; } else if
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;
}
}
诸如此类
一个递归函数,我想将值保存在数组中您要查找的是:
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
。您正在尝试使用serie
数组,但尚未声明该数组。首先声明它,然后根据需要使用它。好的,如果在java中使用变量,它会被初始化。因此,您可能需要检查该变量(本例中的数组)是否为null。不仅如此,您还可以而且可能应该检查它是否是一个数组。数组是java中的对象。因此,您可以对阵列执行以下操作:
if(!obj.getClass().isArray())
你说的“如果它还不存在”是什么意思?如果它是空的?空?那么您指的是哪个数组?您能显示一些代码吗?是的,但使用它我总是会得到以下错误:找不到符号符号:变量序列位置:类Bsp17 if(序列==null){ ^ 1 error@Franz:如果不查看上下文的其余部分,则很难对其进行诊断。是的,我知道,我只是将数组位放进去,以显示问题和函数的内容,其中关于找不到symbol symbol:variable serie location:class Bsp17 if(serie==null){^1错误,总是这个错误这是一个编译器错误,这意味着
serie
数组超出了范围。是的,但是我只想在它还没有被声明的情况下声明它,或者不是possible@Franz:您应该能够通过查看代码来判断它是否已声明。您不能“选择性地”声明一个变量。@Franz-你误解了一个核心编程概念。在尝试使用它之前,必须声明一些东西。否则你将得到一个编译器错误。
if(!obj.getClass().isArray())