null pointers z pivota, quicksort na stringach

0

Witajcie,

Exception in thread "main" java.lang.NullPointerException
at songsmanagment.QuickSort.porownaj(QuickSort.java:29)
at songsmanagment.QuickSort.quicksort(QuickSort.java:56)

public class QuickSort  {
  private String[][] nazwy;


private int ile_liczb;

public QuickSort(String[][] n)
{
    nazwy = n;
    ile_liczb = nazwy.length;    
}

public String[][] sort()
{
    quicksort(nazwy,0,nazwy.length-1);
    return nazwy;
}

  private  boolean porownaj(String a, String b)
  {
    int dl,t=0;  
    System.out.println(a+" "+b);
    if(a.length()<b.length()) dl = a.length();
    else dl = b.length();

    while(t<dl)
    {
       if((int)a.charAt(t)<(int)b.charAt(t)) return true;
       if((int)a.charAt(t)>(int)b.charAt(t)) return false;
       
       t++;
       
    }    
    return false;
  }
    
  

 
private void quicksort(String[][] tablica, int x, int y) {
        
        int i,j;
        String v[],temp[];
        
        i=x;
        j=y;
        v=tablica[(x+y) / 2].clone();             
        
        do {
            while (porownaj(tablica[i][0],v[0])) 
                i++;
            while (!porownaj(tablica[j][0],v[0])) 
                j--;
            if (i<=j) {
                temp=tablica[i];
                tablica[i]=tablica[j];
                tablica[j]=temp;
                i++;
                j--;
            }
        }
        while (i<=j);
        if (x<j) 
            quicksort(tablica,x,j);
        if (i<y) 
            quicksort(tablica,i,y);
    }
}

zwraca mi null pointer na pivotach.. Nie wiem jak to rozwiązać.

Pozdrawiam

0

Wychodzisz poza długość wyrazów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1