kt1117 Opublikowano 10 Lipca 2011 Udostępnij 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? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 10 Lipca 2011 Administratorzy Udostępnij Opublikowano 10 Lipca 2011 A co tu niby jest tym wynikiem? Jakoś tak nie widać... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 10 Lipca 2011 Autor Udostępnij 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? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę