Jag försöker skapa två klasser för att skriva ut en fraktsedel. Men i mitt testprogram får jag bara inte till det, jag får ut den första klassen med personlig information såsom leveransadress och såvidare men artikelnummrerna klurar till det för mig. Någon som vet vad jag gör för fel?
1: klass (Order)
1: klass (Order)
Kod:
import java.util.ArrayList;
public class Order
{
private int orderID;
private String orderDate;
private String customerID;
private String deliveryAddress;
private ArrayList<OrderLine> orderList = new ArrayList<OrderLine>();
public Order (int orderID, String orderDate, String customerID, String deliveryAddress)
{
this.orderID = orderID;
this.orderDate = orderDate;
this.customerID = customerID;
this.deliveryAddress = deliveryAddress;
orderList = new ArrayList<OrderLine>();
}
public int getOrderID () {return orderID;}
public String getOrderDate () {return orderDate;}
public String getCustomerID () {return customerID;}
public String getDeliveryAddress () {return deliveryAddress;}
public void addOrderLine (int articleID, int quantity, double pricePerPiece, double taxRate)
{
OrderLine orderLine = (articleID, quantity, pricePerPiece, taxRate);
orderList.add (new OrderLine(articleID, quantity, pricePerPiece, taxRate));
}
public double getTotalPrice()
{
double sum = 0;
for (OrderLine line:orderList)
sum += line.pricePerPiece*line.quantity;
return sum;
}
}
2: klassen (OrderLine)
public class OrderLine
{
int articleID;
int quantity;
double pricePerPiece;
double taxRate;
public OrderLine (int articleID, int quantity, double pricePerPiece, double raxRate)
{
this.articleID = articleID;
this.quantity = quantity;
this.pricePerPiece = pricePerPiece;
this.taxRate = taxRate;
}
public int getArticleID () { return articleID; }
public int getQuantity () { return quantity; }
public double getPricePerPiece () { return pricePerPiece; }
public double getTaxRate () { return taxRate; }
public double getTotalPrice() { return pricePerPiece * quantity; }
}
TEST programmet:
public class OrderTest
{
public static void main (String[]args)
{
int onr = 123456;
String odate = "2018-05-02";
String custID = "654321";
String delAddress = (("Alfred Musterkund2")+("\nExempelväg 1a")+("\nExempelstad 98765"));
Order order1 = new Order (onr, odate, custID, delAddress);
System.out.println(("Order nr: ")+order1.getOrderID());
System.out.println(("Datum: ")+order1.getOrderDate());
System.out.println(("Kund nr: ")+order1.getCustomerID());
System.out.println(("\n")+order1.getDeliveryAddress());
System.out.println ();
order1.addOrderLine(1234, 1, 1500.0, 25.0);
order1.addOrderLine(2345, 3, 1500.0, 25.0);
order1.addOrderLine(3456, 1, 180.0, 25.0);
order1.getOrderLine();
System.out.println(order1.getArticleID ());
System.out.println(order1.getQuantity ());
System.out.println(order1.getPricePerPiece ());
System.out.println(order1.getTaxRate ());
System.out.println(order1.getTotalPrice ());
}
}
__________________
Senast redigerad av Proton 2022-05-12 kl. 16:38.
Senast redigerad av Proton 2022-05-12 kl. 16:38.