У меня есть несколько классов, первый из которых называется «Учетная запись» - это объекты, которые добавляются в массив, класс «Учетная запись» имеет метод «printAccountDetails», который будет распечатайте сведения об учетной записи. Второй класс, который я использую, называется «AccountCollection», который является классом массива, и я пытался создать метод, который будет распечатывать сведения обо всех объектах учетной записи, которые были добавлены в массив.Как распечатать объекты в массиве (Java)
Ближайший я получил до сих пор этот метод:
public void printAllAccounts()
{
if (accounts.length > 0)
{
for (int index = 0 ; index < accounts.length ; index++)
{
accounts[currentIndex -1].printAccountDetails();
}
}
else
{
System.out.println ("No entries");
}
«счета» является именем массива, и «currentIndex» является точкой в массиве. Это работает для распечатки деталей, однако оно многократно выводит данные учетной записи, что, вероятно, связано с тем, что я сказал ему постоянно увеличиваться на один, а затем вернуться к 1. Но я не могу думать о другом способе делать в этом примере:
public void printAllAccounts()
{
if (accounts.length > 0)
{
for (int index = 0 ; index < accounts.length ; index++)
{
accounts[currentIndex].printAccountDetails();
}
}
else
{
System.out.println ("No entries");
}
Просто приводит к исключению нулевого указателя, поскольку текущий индекс пуст. Любая помощь приветствуется!
Используйте 'index' вместо' currentIndex', так как это ваша переменная счетчика внутри цикла. Где вы определили 'currentIndex'? –
В конструкторе: public AccountCollection (int maxNoOfAccounts) { accounts = new Account [maxNoOfAccounts]; currentIndex = 0; } добавление индекса по-прежнему дает исключение из null-указателя:/после распечатки учетных записей, хотя! – Patterrz