Я делаю два java класса, музыкант и группа. Я пытаюсь создать массив, который будет хранить музыкантов в группе. Вот мой класс музыканта:
package mymusiclibrary;
public class Musician
{
String name;
String genre;
String roleInBand;
void setName(String name)
{
this.name = name;
}
String getName()
{
return name;
}
}
Вот мой класс группы:
package mymusiclibrary;
public class Band
{
String name;
String genre;
Musician[] listOfMusicians;
int numberOfMusicians;
int indexFilled = 0;
public Band(String name, String genre, int numberOfMusicians)
{
this.name = name;
this.genre = genre;
this.numberOfMusicians = numberOfMusicians;
listOfMusicians = new Musician[this.numberOfMusicians];
}
void addMusician(Musician m)
{
listOfMusicians[indexFilled] = m;
indexFilled++;
}
void printALLMusicians()
{
for(Musician m: listOfMusicians)
{
System.out.println("Musician: " + m.getName());
}
}
}
Вот мой тестHarness:
package mymusiclibrary;
public class MyMusicLibrary
{
public static void main(String[] args)
{
Band band = new Band("Oasis", "Acoustic", 2);
Musician m = new Musician();
m.setName("Ron Midney");
band.addMusician(m);
m = new Musician();
m.setName("Tom White");
band.addMusician(m);
band.printALLMusicians();
}
}
Когда я go в запустить эту программу, она ничего не возвращает. Почему это? Это как-то связано с идентификацией нулевого указателя?