Witam.
Mam problem z tym kodem:
public void dodajPozycje(Pozycja p){
this.lista[nextID]=p;
nextID++;
}
Niby wszystko jest ok. Dodaje mi obiekty klasy Pozycja i zapisuje je w tablicy. Niestety po wypisaniu tablicy "lista" na ekranie pojawia się owa tablica niestety ze złymi danymi liczbowymi. String zapisuje się w tablicy, a inne rzeczy niestety nie. Nie bardzo rozumiem jak działa to zapisywanie obiektów do tablicy.
Tutaj reszta programu:
package zadanie.zamownienie;
public class Pozycja {
private String nazwaTowaru;
private static int ileSztuk;
private static double cena;
public Pozycja(String n, int s,double c){
this.nazwaTowaru=n;this.ileSztuk=s;this.cena=c;
}
public double obliczWartoscPozycja(){
return ileSztuk*cena;
}
public String toString(){
return nazwaTowaru+" "+cena+"zł "+ileSztuk+"szt. "+obliczWartoscPozycja()+"zł";
}
}
package zadanie.zamownienie;
public class Zamownienie {
private static int ileDanych,maxRozmiar,nextID;
private Pozycja[] lista;
public Zamownienie(){this(10);}
public Zamownienie(int maxRozmiar){
this.maxRozmiar=maxRozmiar;
this.lista= new Pozycja[maxRozmiar];
}
public void dodajPozycje(Pozycja p){
this.lista[nextID]=p;
nextID++;
System.out.println(lista[nextID-1]);
}
public double obliczWartosc(){
double[] x=new double[1];
for(int i=0;i<nextID;i++)
x[0]+=lista[i].obliczWartoscPozycja();
return x[0];
}
public String toString(){
return " Razem: "+obliczWartosc();
}
static { nextID=0;}
}
package zadanie.zamownienie;
public class ZadanieZamownienie {
public static void main(String[] args) {
Pozycja k=new Pozycja("Cukier",3,5);
System.out.println(k);
Pozycja x=new Pozycja("Chleb",2,3);
System.out.println(x);
Zamownienie z= new Zamownienie(20);
z.dodajPozycje(k);
z.dodajPozycje(x);
System.out.println(z);
}
}