Вероятно, есть простое решение этой проблемы, которое у меня было всю ночь.По крайней мере, я надеюсь, что есть.При попытке предложить объект моему LinkedList subQueues я получаю исключение NullPointerException.Моя программа выводит правильные объекты "head" и целые числа "цифры", но затем выдается исключение и программа завершается.
Короче говоря, моя программа должна взять из списка целых списков mainQueue LinkedList, просмотреть их все один за другим и отсортировать.Он исследует последнюю цифру каждого целого и помещает их в соответствующие подкоманды.На данный момент я только в одном месте.После того, как я преодолею эту дилемму, я смогу решить десятки, сотни и т.д.Как я уже сказал, как только я справлюсь с этой маленькой проблемой, остальная часть программы должна быть легкой.Любая помощь приветствуется, спасибо!
public class Sorting
{
private LinkedList mainQueue;
private LinkedList[] subQueues;
private final int SIZE = 10;
private int maxDigits; //maximum number of digits
//The constructor instantiates the mainQueue using the LinkedList,
//subQueue array as an array of LinkedList using SIZE(10),
//and initializes maxDigits = 0;
public Sorting()
{
mainQueue = new LinkedList();
for (int i=0; i<SIZE; i++)
{
subQueues = new LinkedList[i];
}
// I have also tried:
// subQueues = new LinkedList[SIZE];
//I get the same runtime error.
maxDigits = 0;
}
public void sortNumbers()
{
while (mainQueue.isEmpty() == false)
{
Object head = mainQueue.peek();
mainQueue.remove();
String digitLine = "" + head;
int digit = Integer.parseInt(digitLine.substring(digitLine.length()-1, digitLine.length()));
System.out.println(head);
System.out.println(digit);
subQueues[digit].offer(head);
}
}
}