kt1117 Opublikowano 10 Lipca 2011 Opublikowano 10 Lipca 2011 Witam, poprzednie problemy rozwiązane, teraz mam nowy. Mam taki kod metody: public static void seg() { int czy; for(int a=0;a<iksiazki;a++) { czy=ksiazki[a][1].compareTo(max[1]); if (czy>0) { for(int b=0;b<10;b++) { max[b]=ksiazki[a][b]; max[b]+="zzz"; } } for(int b=0;b<10;b++) { min[b]=max[b]; } } for(int c=0;c<iksiazki;c++) { for(int a=0;a<iksiazki;a++) { if (ksiazki[a][1]!=null) { czy=ksiazki[a][1].compareTo(min[1]); if (czy<0) { for(int b=0;b<10;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } break; } if (czy==0) { czy=ksiazki[a][0].compareTo(min[0]); if (czy<0) { for(int b=0;b<10;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } break; } if (czy==0) { czy=ksiazki[a][2].compareTo(min[2]); if (czy<0) { for(int b=0;b<10;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } break; } if (czy==0) { czy=ksiazki[a][3].compareTo(min[3]); if (czy<0) { for(int b=0;b<10;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } break; } if (czy==0) { czy=ksiazki[a][5].compareTo(min[5]); if (czy<0) { for(int b=0;b<10;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } break; } } } } } } } for(int d=0;d<10;d++) { ksiazki[c][d]=min[d]; } } } Niestety w wyniku mam tablicę wypełnioną 1 wartością. O co chodzi?
Administratorzy gnysek Opublikowano 10 Lipca 2011 Administratorzy Opublikowano 10 Lipca 2011 A co tu niby jest tym wynikiem? Jakoś tak nie widać...
kt1117 Opublikowano 10 Lipca 2011 Autor Opublikowano 10 Lipca 2011 No tak, zapomniałem napisać. Chodzi o to, by zmienić tablicę ksiazki. E: Teraz mam kod: static String[] min=new String[11]; static String[] max={"","","","","","","","","","",""}; static String[][] cksiazki=new String[1000000][11]; public static void seg() { int czy; for(int a=0;a<iksiazki;a++) { czy=ksiazki[a][1].compareToIgnoreCase(max[1]); if (czy>0) { for(int b=0;b<11;b++) { max[b]=ksiazki[a][b]; max[b]+="z"; } } for(int b=0;b<10;b++) { min[b]=max[b]; } } for(int c=0;c<iksiazki;c++) { for(int a=0;a<iksiazki;a++) { if (ksiazki[a][1]!=null) { czy=ksiazki[a][1].compareToIgnoreCase(min[1]); if (czy<0) { for(int b=0;b<11;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } } if (czy==0) { czy=ksiazki[a][0].compareToIgnoreCase(min[0]); if (czy<0) { for(int b=0;b<11;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } } if (czy==0) { czy=ksiazki[a][2].compareToIgnoreCase(min[2]); if (czy<0) { for(int b=0;b<11;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } } if (czy==0) { czy=ksiazki[a][3].compareToIgnoreCase(min[3]); if (czy<0) { for(int b=0;b<11;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } } if (czy==0) { czy=ksiazki[a][5].compareToIgnoreCase(min[5]); if (czy<0) { for(int b=0;b<11;b++) { min[b]=ksiazki[a][b]; ksiazki[a][b]=null; } } } } } } } } for(int d=0;d<11;d++) { cksiazki[c][d]=min[d]; min[d]=max[d]; } } I prawie działa, tylko nieraz "zapomina" niektórych pozycji i do ostatniej pozycji zawsze dodaje "z". Wiecie dlaczego?
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się