Java 编译器一直说数组为空(Android Studio)

Java 编译器一直说数组为空(Android Studio),java,android,arrays,Java,Android,Arrays,我声明了一个全局数组,它是在一个方法中初始化的。问题是,我需要使用数组的长度作为另一个方法的参数传入,但当我这样做时,我会收到一条消息,说数组为null。我理解为什么它是空的,但我不确定这个问题的解决方案是什么 代码示例: Public class Example A{ int element; int [] NumArray; element = NumArray.length -1 } public Method(){ NumArray = new int [length]

我声明了一个全局数组,它是在一个方法中初始化的。问题是,我需要使用数组的长度作为另一个方法的参数传入,但当我这样做时,我会收到一条消息,说数组为null。我理解为什么它是空的,但我不确定这个问题的解决方案是什么

代码示例:

Public class Example A{
 int element;   
int [] NumArray;

element = NumArray.length -1


}

public Method(){
NumArray = new int [length]
}
错误出现在以下行:element=NumArray.Length-1

正如我所说,我理解它为什么为null,但我不知道如何解决它,因为由于代码的结构,数组的初始化必须在方法中发生

是否有任何方法可以从方法中获取数组的长度并在主方法中返回该长度?

问题在于:

int [] NumArray;
element = NumArray.length -1
详细信息: 您声明了NumArray,但在调用构造函数之前从未初始化它(这是100%确定的),但下一行您尝试获取未初始化数组的
NumArray.length
,这就是原因

解决方案: 将这一行放在构造函数中,它属于它

element = NumArray.length -1;


它给出了错误,因为您没有在数组中放入任何值。对不起,我应该提到它是用值填充的,并且我编写了打印语句来验证它是否包含我用以下方法初始化的数据:顺便说一句:了解java命名约定编译器是正确的!嗯,这段代码有点奇怪:
示例a
应该会导致语法错误,因为类名不能包含空格,
方法()
不包含在任何
类中,
方法()
不是一个方法,因为它没有声明返回类型(它可能是
类方法
中的构造函数),啊,我明白了。非常感谢你!但这不只是返回索引号,而不是数组中的实际值吗?你知道我可以返回那个值吗?不…变量元素的值也可以被其他人访问。。。我希望这是你的问题。。。
public Method(){
    NumArray = new int [length]
    element = NumArray.length -1;
}