Top.Mail.Ru
Ответы

Как вызвать метод из массива в Java?

Дополнен

Мне нужен массив из 5-ти кораблей. И вызывать методы для изменения характеристик корабля. Как лучше всего это реализовать. ships.Имя_метода не работает
public class Main {
public static void main(String[] args) {
Ship[] ships = new Ship[5];

for (int i = 1; i < ships.length; i++) {
ships[i] = new Ship();
ships.setShip();
ships.aboutShip();
}
}
}
public class Ship {
Random random = new Random();
Ship ship = new Ship();
int size;

void setShip() {
size = random.nextInt(10);
}

void aboutShip() {
System.out.println(size);
}
}

Дополнен

Констуктор обязательно надо? Что там писать?

Дополнен

Сделал. Но все равно метод не вызывается из массива ships.setShip();
ship.setShip(); тоже не получается. Подчеркивается красным

По дате
По Рейтингу
Аватар пользователя
Новичок
8лет

Переменная ships у тебя - это массив, а метод ты хочешь вызвать для класса Ship. Ты должен писать ships[0].setShip();

Аватар пользователя
Просветленный
8лет

i от нуля, конструктора еще нема

строчки удали
Random random = new Random();
Ship ship = new Ship();

напиши public Ship(int initSize){size = initSize;}
или public Ship(){size = 0;} а то и вместе

Random random = new Random(); вставь в setShip