Sorry, dies kann eine einfache Lösung sein, aber ich habe Probleme beim Schreiben von Code für die Erstellung eines Objekts, das Parameter aus einer anderen Klasse Konstruktoren Argumente verwenden wird in Java. Im Wesentlichen habe ich dieses Inv-Objekt, das bestimmte Parameter hat, und ich versuche, ein Warehouse-Objekt zu erstellen, das nur bestimmte Parameter aus dem Inv-Objekt verwendet, die dann in einer Warehouse-Transaktion-Klasse verwandt werden. Könnte ich eine if-Anweisung im Konstruktor der Inv-Objekte machen? Anywho, ich werde dann später dieses Objekt auf einen Stapel schieben, aber ich konnte die Logik für die Erstellung dieses zweiten Objekts nicht entwickeln. Hilfe bitte, ich bin super neu dazu.Versuch zu einem Klassenkonstruktor, einige der Parameter von einem anderen Klassenkonstruktor zu verwenden
public class InvTrans
{
private int InvTransIndex = 0;
private Inv[] transactionArray;
public InvTrans()
{
this.transactionArray = new Inv[100];
}
public static void main(String args[])
{
InvTrans widget = new InvTrans();
Inv order1 = new Inv("March 5th, 2016", "Received", 20, 0001, 2.10, 2.20);
Inv order2 = new Inv("March 6th, 2016", "Received", 100, 0002, 2.10, 2.50);
Inv order3 = new Inv("March 7th, 2016", "Received", 100, 0003, 2.10, 2.50);
Inv order4 = new Inv("March 12th, 2016", "Sold", 140, 0004, 2.40, 2.60);
widget.addLine(order1);
widget.addLine(order2);
widget.addLine(order3);
widget.addLine(order4);
for (int counter = 0; counter < widget.transactionArray.length; counter++)
{
widget.transactionArray[counter].display();
}
}
public void addLine(Inv a)
{
transactionArray[InvTransIndex] = a;
InvTransIndex = InvTransIndex + 1;
}
}
class Inv
{
String date, type;
int units, referenceNumber;
double costPerUnit, pricePerUnit;
Inv(String d, String t, int u, int r, double c, double p) {
this.date = d;
this.type = t;
this.units = u;
this.referenceNumber = r;
this.costPerUnit = c;
this.pricePerUnit = p;
Warehouse warehouseTransaction = new Warehouse(this.date, this.type, this.units, this.costPerUnit);
}
public void display()
{
System.out.println(this.date + "\t" + this.type + "\t" + this.units + "\t\t\t\t\t" + this.referenceNumber + "\t\t\t\t\t" + this.costPerUnit + "\t\t\t" + this.pricePerUnit);
}
}
public class Warehouse
{
String date, type = "";
int units = 0;
double costPerUnit = 0;
Warehouse(String d, String t, int u, double c)
{
date = d;
type = t;
units = u;
costPerUnit = c;
}
}
hilft Ich habe keine Ahnung, was Sie erreichen wollen. Normalerweise haben Sie ein Lager und Artikel, die im Lager gespeichert sind. –
Wenn Sie das Warehouse-Objekt jedes Mal erstellen möchten, wenn Sie ein Inv erstellen, was ist das Problem mit Ihrer aktuellen Implementierung? Ich würde juste das Warehouse zu einer Klassenvariable machen, damit Sie später darauf zugreifen können. –
@Toaster Ich habe versucht herauszufinden, wie jedes Mal, wenn ein Inv-Objekt erstellt wurde, ein Warehouse-Objekt erstellt wurde. Ich weiß nicht, wie ich das anstellen soll. –