So I'm running a program that does various things to a String array. One of them is a inserting a string inside the array and sorting it. I'm able to use the sort method, but when I attempt to insert a string and then sort it I get a NullPointerException. This is the code:
import java.util.Scanner; import java.io.*; public class List_Driver { public static void main(String args[]) { Scanner keyboard = new Scanner(System.in); int choice = 1; int checker = 0; String [] words = new String[5]; words[0] = "telephone"; words[1] = "shark"; words[2] = "bob"; ListWB first = new ListWB(words); int menu = uWB.getI("1. Linear Seach\n2. Binary Search\n3. Insertion in Order\n4. Swap\n5. Change\n6. Add\n7. Delete\n8. Insertion Sort\n9. Quit\n"); switch(menu) { //other cases case 3: { String insert = uWB.getS("What term are you inserting?"); first.insertionInOrder(insert); first.display(); }//not working break; }//switch menu }//main }//List_Driver uWB is a basic util driver. It doesn't have any problems. This is the ListWB file itself:
public class ListWB { public void insertionSort() { for(int i = 1; i < size; i++) { String temp = list[i]; int j = i; while(j > 0 && temp.compareTo(list[j-1])<0) { list[j] = list[j-1]; j = j-1; } list[j] = temp; } } public void insertionInOrder(String str) { insertionSort(); int index = 0; if(size + 1 <= list.length) { while(index < size && str.compareTo(list[index])>0) index++; size++; for (int x = size -1; x> index; x--) list[x] = list[x-1]; list[index] = str; } else System.out.println("Capacity Reached"); }//insertioninorder }//ListWB How would I fix this?
NullPointerException, it would have been straightforward to determine what wasnull. Then you look at your code and determine why it wasnull, and either make that not be the case, or handle it. Do not disregard the stack trace.