2016-11-14 1 views
0

Je dois créer une méthode add qui ajoutera des éléments d'un fichier txt à une liste de tableaux et les triera dans l'ordre alphabétique (devoirs). J'ai créé du code mais continue d'obtenir une erreur d'exception de pointeur nul.Ajout d'éléments à une ArrayList dans la bonne position

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; 
     } 

Voici le code principal de méthode que l'erreur provient de

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

Afficher l'ensemble de votre principale méthode S'il vous plaît. – nhouser9

+0

Etes-vous supposé utiliser un tableau 'String []' ou 'ArrayList '? – bradimus

+0

Pourquoi ne pas simplement l'ajouter au tableau ou ArrayList, et juste après l'ajout, le trier en utilisant 'Collections.sort' ou' Arrays.sort'? – mojarras

Répondre

1

votre méthode principale:

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

méthode 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; 
    }