Witam
Dopiero zaczynam uczyć się javy, siedzę dzisiaj całą sobotę nad tym programem i nie potrafię znaleźć błędu. Program ma za zadanie sortować liczby metodą sortowanie przez scalanie. Będę niezmiernie wdzięczny za pomoc
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String Args[]){
Tablica tablica= new Tablica();
tablica.Wypelnienie();
tablica.Drukuj();
int koniec=tablica.tab.length;
tablica.MergeSort(0,koniec);
tablica.Drukuj();
}
}
class Tablica{
int t=3;
int tab[]=new int[t];
int p[]=new int[t];
int start;int stop;
public void Wypelnienie(){
Random r = new Random();
for(int c=0; c<t; c++){
tab[c]=r.nextInt();
}
}
}
public void MergeSort(int i_p, int i_k ){
//i_p poczatek
// i_k koniec
int i_s;// srodek
int i1;
int i2;
int i;
i_s= (i_p + i_k + 1)/ 2;
if (i_s - i_p > 1){ MergeSort(i_p, i_s - 1);}
if (i_k - i_s > 0){ MergeSort(i_s, i_k); }
i1 = i_p;
i2 = i_s;
for (i= i_p; i==i_k;i++ ){
if ((i1 == i_s) || ((i2 <= i_k) && (tab[i1] > tab[i2]))){
p[i] = tab[i2]; i2++;
}
else{
p[i]= tab[i1];
i1=i1+1;}
for (i=i_p; i<i_k; i++){tab[i] = p[i];}
}
}
}