2016-03-07 3 views
-1

Итак, в моем коде я прочитал в .txt-файле одиночный неопределенный ArrayList, но он не преобразовывается обратно в int или Integer, когда я пытаюсь его проанализировать. Текстовый файл выглядит следующим образом:
Имя 1
Номер 1
Номер 2
Номер 3
Имя 2
и т.д.
Я пытаюсь увеличивайте число 1, когда имя 1 выбрано из списка.
студентов является начальным ArrayList (пробовал как ArrayList и ArrayList())
кБ Сканер
игроков является ArrayList
totalgames является ArrayList, который пытается переписать студентов (к + 1)Как преобразовать объект из ArrayList() или ArrayList <String> в ArrayList <Integer>?

System.out.println(students.get(k)); 
if(kb.nextInt()!=0) 
{ 
players.add(k); 
totalgames.add((Integer)students.get(k+1)); 
} 

Но возникает ошибка несовместимых типов. Есть ли способ сделать эту ошибку уйти без полного изменения всех ArrayLists?

+0

Можете ли вы объяснить лучше? –

+0

Есть ли разделитель между номером 3 и именем 2? Или первая не-числовая строка - следующее имя? Я бы предложил использовать другую структуру данных, но я не уверен, чего вы ** хотите ** ... вы пытаетесь суммировать 'Number' (s)' 1,2,3'? –

+0

Слышал о autoboxing? ... Если в списке есть целое число, когда вы назначаете этот конкретный элемент переменной 'int', он автоматически получает тип casted to integer. –

ответ

0
ArrayList students=new ArrayList(); 
     int num=0; 
     while (qbrdr.hasNext()&&num<loop) 
     { 
      students.add(qbrdr.nextLine()); 
      students.add(new Integer(qbrdr.nextInt())); 
      students.add(new Double(qbrdr.nextDouble())); 
      students.add(new Double(qbrdr.nextDouble())); 
      num+=4; 
     } 

Во время инициализации мне просто нужно было записать их как int или double, а не Object или String.

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