gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Liste, uvodni primeri prepravljeni da koriste 'double' kao tip
[spa1-materijali.git] / kodovi / liste / ListePrimeriOperacija.java
index cb6cf95..abe9daf 100644 (file)
@@ -1,5 +1,3 @@
-import org.svetovid.io.SvetovidIOException;
-
 /**
  * Primer razlicitih operacija nad listama. Program je predstavljen kao
  * interaktivni meni radi boljeg ilustrovanja operacija i njihovog ucinka.
@@ -31,6 +29,7 @@ public class ListePrimeriOperacija {
                        System.out.println("q-Kraj rada (Quit)");
                        menu = Svetovid.in.readChar();
                        menu = Character.toUpperCase(menu);
+                       double broj;
                        switch (menu) {
                        case 'S':
                                lista.stampajNaEkran();
@@ -39,11 +38,11 @@ public class ListePrimeriOperacija {
                                unosBrojeva();
                                break;
                        case 'D':
-                               int broj = Svetovid.in.readInt("Broj koji dodajete:");
+                               broj = Svetovid.in.readDouble("Broj koji dodajete:");
                                lista.dodajNaPocetak(broj);
                                break;
                        case 'O':
-                               broj = Svetovid.in.readInt("Broj koji dodajete:");
+                               broj = Svetovid.in.readDouble("Broj koji dodajete:");
                                int pos = Svetovid.in.readInt("Pozicija na koju dodajete:");
                                lista.dodaj(broj, pos);
                                break;
@@ -57,7 +56,7 @@ public class ListePrimeriOperacija {
                                izbacivanjeK();
                                break;
                        case 'K':
-                               stampajK(lista);
+                               stampajK();
                                break;
                        case 'M':
                                Svetovid.out.println("Minimum liste je:" + lista.minimum());
@@ -80,13 +79,13 @@ public class ListePrimeriOperacija {
                int n = Svetovid.in.readInt();
                System.out.println("unesite brojeve");
                for (int i = 0; i < n; i++) {
-                       int br = Svetovid.in.readInt();
+                       double br = Svetovid.in.readDouble();
                        lista.dodajNaPocetak(br);
                }
        }
 
        static void pretraga() {
-               int broj = Svetovid.in.readInt("Unesite broj koji trazite:");
+               double broj = Svetovid.in.readDouble("Unesite broj koji trazite:");
                if (lista.uListi(broj)) {
                        Svetovid.out.println("Broj postoji u listi");
                } else {
@@ -94,7 +93,7 @@ public class ListePrimeriOperacija {
                }
        }
 
-       static void stampajK(ListaBrojevaBr lista2) {
+       static void stampajK() {
                int broj = Svetovid.in
                                .readInt("Unesite redni broj elementa koji zelite:");
                try {
@@ -116,7 +115,7 @@ public class ListePrimeriOperacija {
        }
 
        static void izbacivanjeElSvi() {
-               int broj = Svetovid.in.readInt("Unesite broj koji treba izbaciti:");
+               double broj = Svetovid.in.readDouble("Unesite broj koji treba izbaciti:");
 
                Svetovid.out.println("Izbaceno je " + lista.izbaciIzListeSve(broj)
                                + "brojeva");
@@ -124,7 +123,7 @@ public class ListePrimeriOperacija {
        }
 
        static void izbacivanjeEl() {
-               int broj = Svetovid.in.readInt("Unesite broj koji treba izbaciti:");
+               double broj = Svetovid.in.readDouble("Unesite broj koji treba izbaciti:");
                if (lista.izbaciIzListe(broj)) {
                        Svetovid.out.println("Broj je izbacen iz liste");
                } else {
@@ -140,10 +139,10 @@ public class ListePrimeriOperacija {
  */
 class ListaBrojevaBr {
        class Element {
-               int info;
+               double info;
                Element veza;
 
-               public Element(int br) {
+               public Element(double br) {
                        this.info = br;
                        this.veza = null;
                }
@@ -175,7 +174,7 @@ class ListaBrojevaBr {
                return prvi == null;
        }
 
-       public void dodajNaPocetak(int br) {
+       public void dodajNaPocetak(double br) {
                Element novi = new Element(br);
                novi.veza = prvi;
                prvi = novi;
@@ -214,7 +213,7 @@ class ListaBrojevaBr {
         * 
         * @throws IndexOutOfBoundsException
         */
-       public int element(int k) {
+       public double element(int k) {
                if (k < 0) {
                        throw new IndexOutOfBoundsException(
                                        "Ne postoje elementi na negativnim pozicijama!");
@@ -236,7 +235,7 @@ class ListaBrojevaBr {
 
        // alternativna verzija procedure koja bi radila ako nemamo brojElemenata
        // kao polje
-       public int elementB(int k) {
+       public double elementB(int k) {
                if (k < 0) {
                        throw new IndexOutOfBoundsException(
                                        "Ne postoje elementi na negativnim pozicijama!");
@@ -258,9 +257,9 @@ class ListaBrojevaBr {
                }
        }
 
-       /** Vraca minimum liste. U slucaju prazne liste vratice maksimalni Integer. */
-       public int minimum() {
-               int min = Integer.MAX_VALUE;
+       /** Vraca minimum liste. U slucaju prazne liste vratice maksimalni Double. */
+       public double minimum() {
+               double min = Double.MAX_VALUE;
 
                Element tekuci = prvi;
                while (tekuci != null) {
@@ -274,7 +273,7 @@ class ListaBrojevaBr {
        }
 
        /** Vraca da li broj br postoji u listi. */
-       public boolean uListi(int br) {
+       public boolean uListi(double br) {
                Element tekuci = prvi;
                while (tekuci != null && tekuci.info != br) {
                        tekuci = tekuci.veza;
@@ -295,7 +294,7 @@ class ListaBrojevaBr {
         * @param pos
         *            pozicija na koju se broj dodaje
         */
-       public void dodaj(int br, int pos) {
+       public void dodaj(double br, int pos) {
                Element novi = new Element(br);
 
                // proverimo i popravimo pos po potrebi
@@ -328,10 +327,11 @@ class ListaBrojevaBr {
         * Izbacuje broj 'br' iz liste, naravno ako postoji i vraca da li je
         * operacija uspesno obavljena.
         */
-       public boolean izbaciIzListe(int br) {
+       public boolean izbaciIzListe(double br) {
                // proverimo da li je prvi element
                if (prvi != null && prvi.info == br) {
                        prvi = prvi.veza;
+                       brojElemenata--;
                        return true;
                } else {
                        /* trazimo u ostatku liste */
@@ -363,7 +363,7 @@ class ListaBrojevaBr {
         * Izbacuje sve brojeve 'br' iz liste, naravno ako postoje i vraca koliko ih
         * je bilo.
         */
-       public int izbaciIzListeSve(int br) {
+       public int izbaciIzListeSve(double br) {
                int brojac = 0;
 
                /* uklanjamo sa pocetka koliko je potrebno */
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner