Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

jednostavno sortiranje niza brojeva?

[es] :: Java :: jednostavno sortiranje niza brojeva?

[ Pregleda: 7142 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kokanidja2

Član broj: 28279
Poruke: 387
*.teol.net.



+1 Profil

icon jednostavno sortiranje niza brojeva?22.06.2008. u 00:22 - pre 193 meseci
u opadajucem i rastucem nizu...al uz komentar da i pocetnik moze da razumije sta se desava.Please..
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
91.148.95.*

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: jednostavno sortiranje niza brojeva?22.06.2008. u 08:58 - pre 193 meseci
Imaš već isprogramiranu metodu: http://java.sun.com/javase/6/d...i/java/util/Arrays.html#sort(T[], java.util.Comparator)

Jedini problem je što imaš obrnuto sortiranje, pa je to lakše uraditi sa nizom Integer objekata nego sa nizom int-ova:
Code:

import java.util.Arrays;
import java.util.Collections;


public class Test {
    public static void main(String[] args) {
        Integer [] testNiz = {1,7,3,9,6,5,8,2,4};

        Arrays.sort(testNiz);
        print(testNiz);

        Arrays.sort(testNiz, Collections.reverseOrder());
        print(testNiz);
    }

    static void print(Object[] niz) {
        for (Object o : niz){
            System.out.print(" " + o);
        }
    }

}



Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

kokanidja2

Član broj: 28279
Poruke: 387
*.teol.net.



+1 Profil

icon Re: jednostavno sortiranje niza brojeva?22.06.2008. u 12:14 - pre 193 meseci
zasto ne moze da se koristi System.out.print(testNiz);?

for(Object o : niz)?

sorry pocetnik :)
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
91.148.95.*

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: jednostavno sortiranje niza brojeva?22.06.2008. u 16:23 - pre 193 meseci
System.out.println pretvara objektat koji mu se pošalje u stiring oblik tako što pozove toString metodu koju ima svaki objekat (tj. ta je metoda definisana u Object klasi koju nasleđuje svaka klasa u javi). Ta metoda podrazumevano ispisuje koje je klase objekat i njegovu adresu. Problem s nozovima je što su oni malo specijalni objekti i kod njih toString nije redefinisan pa ne ispisuje elemente niza kako bi to svako razuman očekivao. A opet kod kolekcija toString radi kako treba. Ma to je java, puna je debilizama.

E posle su se u nekoj od novijih verzija setili da kad već nisu uradili toString kako treba, napišu pomoćnu metodu za pretvaranje niza u string (prethodno ih je Bruce Eckel u Misliti na javi propisno iznapušavao). To su one Arrays.toString metode, čak sam i sam na njih zaboravio :) Tako da onaj kod može biti skraćen na:
Code:

import java.util.Arrays;
import java.util.Collections;


public class Test {
    public static void main(String[] args) {
        Integer [] testNiz = {1,7,3,9,6,5,8,2,4};

        Arrays.sort(testNiz);
        System.out.println(Arrays.toString(testNiz));

        Arrays.sort(testNiz, Collections.reverseOrder());
        System.out.println(Arrays.toString(testNiz));
    }
}


A ona čudna for petlja se zove foreach. To je samo lakši način da se prođe kroz sve elemente niza (radi i na listama) bez drndanja sa indeksima. Novina u javi 1.5.
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

kokanidja2

Član broj: 28279
Poruke: 387
*.teol.net.



+1 Profil

icon Re: jednostavno sortiranje niza brojeva?22.06.2008. u 18:13 - pre 193 meseci
ok sad je vec jasnije...hvala
 
Odgovor na temu

kokanidja2

Član broj: 28279
Poruke: 387
*.broadband.blic.net.



+1 Profil

icon Re: jednostavno sortiranje niza brojeva?23.06.2008. u 10:33 - pre 192 meseci
ah mislili ste kako je ovo gotovo...ali nije :)
novo pitanje..GRESKE ili exceptions..(ako sam ja to dobro shvatio)
naravno vezano za gornji primjer...dodao sam upisivanje niza s tastature. e sad kad promasis...(kucas slovo il nista ne upises) on izbaci neku poruku o greskama i prekine. moze li se to resiti da ne prekine...recimo izbaci poruku greska ta i ta, contunue y/n?

ConsoleReader i for petlja..za upis s tastature.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: jednostavno sortiranje niza brojeva?26.06.2008. u 11:50 - pre 192 meseci
Evo josh jednog reshenja za sortiranje, bez korishcenja ugradjenih metoda:

Code:
public class Sortiranje {
    public static void main(String[] args){

       int niz[] = {3, 7, 4, 2, 2, 9, 7, 6, 11};
         
        for (int i = 0; i < (niz.length-1); i++) {
           for (int j = (i+1); j < niz.length; j++) {
                if (niz[j] < niz [i]) {
                   int pom = niz[i];
                   niz[i] = niz[j];
                   niz[i] = pom;
                 }
            }
         }

     }
}


A za ovo tvoje pitanje za greshke (exceptions), ceo taj deo za unos stavi u try/catch blok. Npr:
Code:
try {
   System.out.println ("Unesite broj: ");
   int n = Citaj.Int(); //klasa Citaj za unos sa tastature
 }
catch (NumberFormatException x) {
   System.out.println ("Nedozvoljen unos!");
}

 
Odgovor na temu

kokanidja2

Član broj: 28279
Poruke: 387
*.teol.net.



+1 Profil

icon Re: jednostavno sortiranje niza brojeva?28.06.2008. u 12:04 - pre 192 meseci
nije lose..mada sam mislio nesto kao..ako se desi greska da se ponovi unos. Ovako umjesto pogresnih unosa on izbacuje nule. al dobro, ucim...malo pomalo i bice nesto...valjda :)
 
Odgovor na temu

[es] :: Java :: jednostavno sortiranje niza brojeva?

[ Pregleda: 7142 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.