Java spojový seznam

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
screpheep
Nováček
Nováček
Registrován: 29. pro 2008

Java spojový seznam

Příspěvek od screpheep »

Zdravim, řešim domácí úkol na programování, je to spojový seznam, jeho prvky jsou matice. Mám třídu úložiště a třídu matice, úložiště musí umět tohle: přidat prvek, vrátit velikost seznamu, vypsat matice vzestupně podle součtu a vrátit pole matic seřazené podle součtu. Všechno tohle už mám a při mojem testování to funguje bez problémů, odevzdáváme to ale přes systém odevsys, tzn to kontroluje počítač. A vypisuje mi to chyby v metodách přidej prvek a vypiš matice. Nevíte někdo proč to hází chyby?

Kód: Vybrat vše

package du4;

public class Uloziste {

    private Prvek prvni;
    private Prvek posledni;
    private int velikost;

    public Uloziste() {
        velikost = 0;
    }

    public int pocet() {
        return velikost;
    }

    public void vypis() {

        Prvek akt = prvni;
        boolean serazeno = true;
        Matice pomocna;
        Matice[] s = new Matice[velikost];

        for (int i = 0; i < velikost; i++) {
            s[i] = (akt.matice);
            akt = akt.next;
        }
        while (serazeno != false) {
            serazeno = false;
            for (int i = 0; i < s.length - 1; i++) {
                if (s[i].soucet() > s[i + 1].soucet()) {
                    pomocna = s[i];
                    s[i] = s[i + 1];
                    s[i + 1] = pomocna;
                    serazeno = true;
                }

            }
        }
        for (int i = 0; i < s.length; i++) {
            System.out.println(s[i].toString());
        }
    }

    public Matice[] prvky() {
        Prvek akt = prvni;
        boolean serazeno = true;
        Matice pomocna;
        Matice[] s = new Matice[velikost];

        for (int i = 0; i < velikost; i++) {
            s[i] = (akt.matice);
            akt = akt.next;
        }
        while (serazeno != false) {
            serazeno = false;
            for (int i = 0; i < s.length - 1; i++) {
                if (s[i].soucet() > s[i + 1].soucet()) {
                    pomocna = s[i];
                    s[i] = s[i + 1];
                    s[i + 1] = pomocna;
                    serazeno = true;
                }
            }
        }
        return s;
    }

    public void pridej(Matice prvek) {
        Prvek p = new Prvek(prvek);
        if (velikost == 0) {
            this.prvni = p;
            this.posledni = p;
        } else {
            this.posledni.next = p;
            this.posledni = p;
        }
        velikost++;
    }

    private class Prvek {

        private Matice matice;
        private Prvek next;

        private Prvek(Matice matice) {

            this.matice = matice;

        }
    }
}
Odpovědět

Zpět na „Programování a web“