Witam.
Mam problem z zadaniem zamówienie: http://www.jkozak.pl/przedmioty/java/zadania7.pdf .
Problemem jest przekazanie obiektu z klasy Pozycja do metody z klasy Zamówienie "void dodajPozycje(Pozycja p)". Nie bardzo wiem jak to ma wyglądać. Chciałem w klasie Zamówienie zrobić tablicę obiektów Pozycja i w/w metodzie dodawać kolejno obiekty. Niestety coś mi to nie działa. Może ktoś mnie naprowadzić co i jak :D?
W klasie Zamówienie nie działa też metoda obliczWartosc. Tzn. bez pętli for jest ok, a z problem przy zwróceniu 'x'.
Class Pozycja-
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 obliczWartosc(){
double x=ileSztuk*cena;
return x;
}
public String toString(){
return nazwaTowaru+" "+cena+"zł "+ileSztuk+"szt. "+obliczWartosc()+"zł";
}
}
Class Zamówienie-
public class Zamownienie {
private static int ileDanych,maxRozmiar,nextID;
private Pozycja[] lista;
public Zamownienie(){this(10);}
public Zamownienie(int maxRozmiar){
this.maxRozmiar=maxRozmiar;
}
public void dodajPozycje(Pozycja p){
this.lista[nextID]=p;
nextID++;
}
public double obliczWartosc(){
double x;
for(int i=0;i<lista.length;i++)
x+=lista[nextID].obliczWartosc();
return x;
}
public String toString(){
return " Razem: "+obliczWartosc();
}
static { nextID=0;}
}
Main-
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,4);
System.out.println(x);
Zamownienie z= new Zamownienie(20);
z.dodajPozycje(k);
z.dodajPozycje(x);
System.out.println(z);
}
}