2016-11-14 68 views
0

我需要创建一个add方法,它将把txt文件中的项目添加到数组列表中,并同时按字母顺序对它们进行排序(作业)。我创建了一些代码,但不断收到空指针异常错误。将元素添加到正确位置的ArrayList

public void add(String str) 
{ 

    int index = 0; 
    str = list[index]; 
    String str2 = list[index+1]; 
    int result = str.compareTo(str2); 

    for(index=0; index < elements; index++){ 

     if(result < 0){ 
     list[index] = str2; 
     } 

     else if (result > 0){ 
     list[index] = str; 
     } 

下面是其中的误差来自

for (int i=0; i<NUMBER_OF_NAMES;i++) 
    al.add(names[i]); 
+3

显示你的整个主方法请。 – nhouser9

+0

你是否应该使用数组'String []'或'ArrayList '? – bradimus

+0

为什么不把它添加到Array或ArrayList中,并且在添加之后,使用'Collections.sort'或'Arrays.sort'对它进行排序? – mojarras

回答

1

你的主要方法,来的主要方法代码:

List<String> l = new ArrayList<String>(); 
    for (int i=0; i<NUMBER_OF_NAMES;i++){ 
     l = addItem(names[i], l); 
    } 

add方法:

public static List<String> addItem(String item, List<String> list) { 

     list.add(item); 

     Collections.sort(list, new Comparator<String>() { 
      @Override 
      public int compare(String s1, String s2) { 
       return s1.compareToIgnoreCase(s2); 
      } 
     }); 

     return list; 
    } 
相关问题