Я хочу ініціалізувати масив об'єктів Player для гри BlackJack. Я багато читав про різні способи ініціалізації примітивних об'єктів, таких як масив ints або масив рядків, але я не можу перенести концепцію на те, що я намагаюся зробити тут (див. Нижче). Я хотів би повернути масив ініціалізованих об'єктів Player. Кількість об'єктів програвача для створення - це ціле число, для якого я пропоную користувачеві. Я думав, що конструктор може прийняти цілочисельне значення і відповідно назвати програвач, ініціалізуючи деякі змінні-елементи об'єкта Player. Я думаю, що я близький, але все ще досить розгублений.
static class Player
{
private String Name;
private int handValue;
private boolean BlackJack;
private TheCard[] Hand;
public Player(int i)
{
if (i == 0)
{
this.Name = "Dealer";
}
else
{
this.Name = "Player_" + String.valueOf(i);
}
this.handValue = 0;
this.BlackJack = false;
this.Hand = new TheCard[2];
}
}
private static Player[] InitializePlayers(int PlayerCount)
{ //The line below never completes after applying the suggested change
Player[PlayerCount] thePlayers;
for(int i = 0; i < PlayerCount + 1; i++)
{
thePlayers[i] = new Player(i);
}
return thePlayers;
}
EDIT - UPDATE: Ось що я отримую після зміни цього, як я зрозумів вашу пропозицію:
Thread [main] (Suspended)
ClassNotFoundException(Throwable).<init>(String, Throwable) line: 217
ClassNotFoundException(Exception).<init>(String, Throwable) line: not available
ClassNotFoundException.<init>(String) line: not available
URLClassLoader$1.run() line: not available
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available
Launcher$ExtClassLoader.findClass(String) line: not available
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader.loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available
BlackJackCardGame.InitializePlayers(int) line: 30
BlackJackCardGame.main(String[]) line: 249
Player
клас сироватки є статичним? Ви можете спробувати видалитиstatic
з нього ключове слово?