Sortowanie w javie


(matusia :)) #1

czy ktos mógł by mi pomóc w zadaniu w javie. Program pa posortować tablicę, i wyświetlić liczby od najmniejszej do największej. Program który napisalam wygląda tak:

public class TablicaSortowanie {


/**

* @param args

*/

public static void main(String[] args) {

int P[] = {1, 5, 2, 0, 3, 8};

int n = P.length;

int z = 0;

    do{

z = 0;

   for (int i=1; i
 if (P[i-1]> P[i]){

int pom = P[i-1];

P[i-1] = P[i];

P[i] = pom;

z = 1;

   }

 }

    }while (z == 1);

 }

}

z tym ze nie wiem w którym miejscu wstawić "System.out.println();" i nie wiem co powinnam wpisac w nawiasach


(Airborn) #2
  1. kod wygląda tragicznie

  2. klasa arrays posiada funkcję sort() która posortuje tablicę za Ciebie

  3. zajrzyj do dokumentacji javy http://java.sun.com/javase/6/docs/api/ sprawdź funkcję println() i sprawdź jakie argumenty możesz podać, to powinno Cię naprowadzić.


(matusia :)) #3

stron po angielsku i nic nie rozumiem to raz, a dwa nie wiem o co ci chodzi


(Fiołek) #4

A co tu rozumieć? Podpowiada Ci abyś użył(a) funkcji sort która to, sama za Ciebie sortuje tablice.

A bez angielskiego w programowaniu ani rusz...


(matusia :)) #5

ale na poczoczątku czy po patlach????


(Airborn) #6

a skąd my możemy wiedzieć co Ty chcesz wyświetlić? wrzucenie 'na początek' wyświetli jedną wartość z nieposortowanej tablic (jeżeli oczywiście podasz dobry argument), wrzucenie w pętlę (znów wymaga poprawnego argumentu) spowoduje wyświetlenie argumentu odpowiadającego aktualnej iteracji, a wyświetlenie po spowoduje wyświetlenie pojedynczego elementu z już posortowanej tablicy.


(GL1zdA) #7

Widzę nowa metoda na nabijanie postów - krążenie wokół tematu i unikanie udzielenia odpowiedzi :slight_smile:

Tu jest cały kod. Ostatnie trzy linijki wyrzucają zawartość tablicy na ekran. Musisz znać angielski co najmniej na tyle, żeby umieć czytac javadoc'i - bez nich zginiesz programując w javie.

public class TablicaSortowanie {


    /**

     * @param args the command line arguments

     */

    public static void main(String[] args) {

        int P[] = {1, 5, 2, 0, 3, 8};

        int z;

        do {

            z = 0;

            for (int i = 1; i < P.length; i++) {

                if (P[i - 1] > P[i]) {

                    int pom = P[i - 1];

                    P[i - 1] = P[i];

                    P[i] = pom;

                    z = 1;

                }

            }

        } while (z == 1);


        //To wyrzuca zawartosc tablicy na ekran

        System.out.print("Posortowana tablica:");

        for(int element : P) System.out.print(" " + element);

        System.out.print('\n');        

    }

}

W skrócie. System to klasa zawierająca "szereg użytecznych pól i metod".

Tu jest info: http://java.sun.com/javase/6/docs/api/j ... ystem.html

Jednym z pól jest out - pole klasy PrintStream.

Dokumentację klasy PrintStream znajdziesz tu: http://java.sun.com/javase/6/docs/api/j ... tream.html

Masz tam coś takiego jak "Method summary"

Widzisz m. in. metody print i println wraz z ich sygnaturami - możesz więc określić jakie argumenty przyjmują. Możesz kliknąć w każdą, żeby zobaczyć jej dokładne działanie.


(matusia :)) #8

GL1zdA słuchaj jesteś genialny! !!

dziękuje ci również za linki, wiem ze w programowaniu zginebez angielskiego ale niestety cała życie wkówałam niemiecki :frowning:

Jeszcze raz wielkie dzieki;)

pozdrawiam