Я получаю странное исключение NullPointerExcpetion в строке 20:
regs[Integer.parseInt(str.split(" ")[1]) - 1].add(line.poll());
Я не знаю, что вызвало это. Может кто-нибудь помочь мне исправить это?
import java.io.*;
import java.util.*;
public class shoppay
{
public static void main (String[] args) throws IOException
{
BufferedReader f = new BufferedReader(new FileReader("shoppay.in"));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("shoppay.out")));
Queue<Integer> line = new LinkedList <Integer>();
int num = Integer.parseInt(f.readLine());
String str;
LinkedList<Integer>[] regs = (LinkedList<Integer>[]) new LinkedList[num];
while ((str = f.readLine()) != null)
{
if (str.charAt(0) == 'C')
line.add(Integer.parseInt(str.split(" ")[1]));
else
regs[Integer.parseInt(str.split(" ")[1]) - 1].add(line.poll());
}
out.close();
System.exit(0);
}
}
Также я получаю предупреждение:
Безопасность типов: непроверенное приведение из java.util.LinkedList [] к java.util.LinkedList []
Это как-то связано с ошибкой?
Редактировать: ввод - это просто строка строк. Первая строка - это число, остальные - «C» или «R», за которыми следует число. Также мне нужна очередь для рег.