#arrays #local #private #instantiation #declare
#массивы #Местные новости #Частное #создание экземпляра #объявить
Вопрос:
Прямо сейчас я работаю над упражнением для моей школы. Упражнение просит меня объявить массив как закрытый, а затем создать его экземпляр только через конструктор. Код выглядит следующим образом. Проблема в том, что хранилище работает как локальная переменная, и я хочу использовать его позже. Добавление «this». перед ним не работает. Что я могу сделать?
public class Mapland extends Thread {
private int groining;
private int[] sepulcher;
public Mapland(int[] b) {
int[] sepulcher = new int[b.length];
}
public int getGroining() {
return this.groining;
}
public void run() {
groining = Integer.MIN_VALUE;
for (int i = 0; i < sepulcher.length; i ) {
if (getGroining() < this.sepulcher[i]) {
this.groining = this.sepulcher[i];
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Ответ №1:
В конструкторе вы не инициализируете глобальный частный массив, вы создаете новый. Чтобы инициализировать его, вам просто нужно вызвать его без предыдущего (int[]), потому что вы уже объявили его ранее. Ваш код в конструкторе должен быть:
sepulcher = new int[b.length];