2015-11-27 2 views
-1
public void readFile() { 
    while (x.hasNext()) { 
     try { 
      String name = x.next(); 
      int magic = x.nextInt(); 
      int cunning = x.nextInt(); 
      int courage = x.nextInt(); 
      int wisdom = x.nextInt(); 
      int temper = x.nextInt(); 

      Card card = new Card(name, magic, cunning, courage, wisdom, temper); 
      for(int i=0;i<cardArray.length;i++){ 
      cardArray[card];} 
     } catch (Exception e) { 
     } 

    } 
} 

Я просто делаю этот атрибут чтения кода из текстового файла. Проблема в том, как собрать все карты в одном массиве? Я стараюсь, но он не работает.Как сделать карты в массиве?

ответ

2

Настоятельно рекомендую тщательно изучить основной учебник. См. Раздел Arrays и внимательно прочитайте его.

Вы должны назначить на карту таким образом:

cardArray[i] = card; 

Обратите внимание, что вы используете жеCard объект в цикле, вы в конечном итоге с массивом исполненных же карта. Это то, что вы хотите? Если нет, вы должны создать новый экземпляр на каждой итерации.

Также обратите внимание на то, что исключение составляет catch и ничего не делать с ним. Самое меньшее, что вам нужно сделать, это распечатать его на консоли, иначе вы можете получить бесшумные ошибки.

Больше вопросов вы должны спросить себя:

  • Вы хотите объявить переменные внутриwhile цикла?
  • Стоит ли создавать собственный класс, который обертывает magic, wisdom и все другие переменные? Я думаю, ваш код будет более модульным и читаемым.

Полный учебник доступен here, это действительно стоит прочитать. Попробуй!

+0

Это неверно. Учтите, что, когда cardArray начинает пустым, цикл for завершится без каких-либо действий. – phatfingers

+0

@phatfingers Что значит «начинается с пустого»? Вы знаете, как он инициализирован? Наличие в цикле 'for' является знаком того, что OP имеет переменную-член. – Maroun

+0

Да, вы отчасти правы. Почему-то моя голова была на земле javascript. Однако его цель состоит в том, чтобы заполнить cardArray набором карт, извлеченных из x, а не заполнять последнюю извлеченную карту из x в каждый член массива. – phatfingers

Смежные вопросы