Ich hab folgenden code:
Was ich möchte: getPos soll mir für jede rechnung soviele rechnungspositionen anlegen wie es rechnungspositionen im array pos[] gibt. Rechnungspositionen sind angelegte objekte welche 2 attribute beinhalten. Eine Menge und einen Artikel. also wenn eine rechnung 3 rechnungspositionen hat, möchte ich alle 3 rechnungspositionen ausgegeben haben.
Rechnungspositionen haben auch eine überschriebene toString Methode falls das wichtig ist, die funktioniert auch schon.
Problem ist nur das array, wie kann ich dafür sorgen das immer alle elemente ausgegeben werden statt nur 1? mit einer return methode gehts ja auch nicht, weil nach einem return ist schluss und so wird mir angegeben das die methode nicht mit "+"verwendet werden kann.
Java:
public class Rechnung {
private Rechnungsposition pos[];
private int billId;
private String date;
private double all;
public Rechnung(int bid, String date, Rechnungsposition... a) {
setBillId(bid);
setDate(date);
setAll(a);
setPos(a);
}
public int getBillId() {
return billId;
}
public String getDate() {
return date;
}
public double getAll() {
return all;
}
public void setBillId(int b) {
this.billId = b;
}
public void setDate(String d) {
this.date = d;
}
public void setAll(Rechnungsposition... a) {
all = 0;
for (Rechnungsposition i : a) {
all += i.get_gPrice();
}
}
public void setPos(Rechnungsposition... a) {
if (a.length <= 20) {
this.pos = a;
} else {
System.err.println("Zuviele Rechnungspositionen");
}
}
public void getPos(){
int i=-1;
do{
i++;
System.out.println(pos[i]);
} while (i<pos.length);
}
@Override
public boolean equals(Object o) {
return false;
}
@Override
public String toString() {
return "Rechnungsnummer: "+billId+" Datum: "+date+" Rechnungspositionen: \n"+getPos()+"\nGesamtpreis: "+all+"0€\n";
}
}
Rechnungspositionen haben auch eine überschriebene toString Methode falls das wichtig ist, die funktioniert auch schon.
Problem ist nur das array, wie kann ich dafür sorgen das immer alle elemente ausgegeben werden statt nur 1? mit einer return methode gehts ja auch nicht, weil nach einem return ist schluss und so wird mir angegeben das die methode nicht mit "+"verwendet werden kann.