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?
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;
}
}
}