2016-12-09 4 views
-7

Я объявил глобальный массив, который был инициализирован в методе. Проблема в том, что мне нужно использовать длину массива, чтобы передать его в качестве аргумента для другого метода, но когда я это сделаю, я получаю сообщение о том, что массив равен null. Я понимаю, почему это null, но я не уверен, что это могло бы сделать это? ПримерКомпилятор продолжает говорить, что Array Null (Android Studio)

Код:

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

element = NumArray.length -1 


} 

public Method(){ 
NumArray = new int [length] 
} 

ошибка происходит в строке: элемент = NumArray.Length -1

Как я уже сказал, я понимаю, почему он имеет нулевое значение, но я не знаю, как решить это, потому что инициализация массива ДОЛЖНА возникнуть в методе из-за структуры моего кода.

Есть ли способ, которым я могу захватить длину массива из метода и вернуть его в основной метод?

+2

это дает ошибку, потому что вы не ставили никакого значения в массиве –

+0

жаль, что я должен отметить, что она населена со значениями, и я написал заявление печати для проверки что он содержит данные, которые я инициализировал с помощью – NoobCoder

+1

BTW: прочитайте о соглашении о присвоении java – Jens

ответ

3

вопрос здесь:

int [] NumArray; 
element = NumArray.length -1 

Детали: вы объявили Numarray но никогда не инициализировать его, пока конструктор не вызывается (это 100% нормально), но в следующей строке вы пытаетесь получить NumArray.length от отсутствия инициализируется массив и что является причиной ...

Решение: место эта линия внутри конструктора, это б elongs к его

element = NumArray.length -1; 

как

public Method(){ 
    NumArray = new int [length] 
    element = NumArray.length -1; 
} 
+0

ahhh я вижу. Спасибо огромное! Но разве это не просто вернет мне индексный номер, а не фактическое значение в этом массиве? Знаете ли вы, что я могу вернуть эту ценность? – NoobCoder

+0

nop ... значение переменной __element__ можно получить и другими людьми ... Надеюсь, это был ваш вопрос ... –

Смежные вопросы