На данный вопрос уже ответили:
Не понимаю в чем проблема
public class Books {
String title;
String author;
}
public static void main(String[] args) {
Books[] myBooks = new Books[3];
int x = 0;
myBooks[0].title = "Плоды Java";
myBooks[1].title = "Java Гэтсби";
myBooks[2].title = "Сборник рецептов";
myBooks[0].author = "Боб";
myBooks[1].author = "Сью";
myBooks[2].author = "Ян";
while (x < 3) {
System.out.println(myBooks[x].title);
System.out.println(",автор");
System.out.println(myBooks[x].author);
x = x + 1;
}
}
}
Ответ @iSmoke верный, но я дополню тем, как заполнить массив книгами
Books[] myBooks = new Books[3]; //создаете массив с null
Arrays.fill(myBooks, new Book()); //заполняете массив, чтобы вместо null была пустая книга
myBooks[0].title = "blabla"; //заполняете информацией книгу
// т.д
Когда вы создаете массив из обьектов (Book - класс, он не примитив) то все элементы массива равны null (потому что обьекты по умолчанию null). Когда вы обращаетесь к любому элементу массива
myBooks[0].title = ...
То вы по индексу 0 получаете null и пытаетесь обратиться к переменной, а как мы знаем, когда обьект null любое обращение к его частям (переменные, методы и т.д) вызывают NullPointerException.
Есть правда, исключение, если поля статические, но оно вам не подходят. Заполните массив книгами с помощью Arrays.fill
У тебя myBooks - массив объектов типа Books. Но здесь ты не создаешь ни одного объекта и не помещаешь их в массив, следовательно он у тебя пуст(заполнен null'ами)
Или вот так, при объявлении: Books[] myBooks = {new Books(), new Books(), new Books()};
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники