Bu program için 3 tane kurs var. Alışverişten sonra ürünlerin toplam fiyatını yazdırmak istiyorum, ancak çıktıyla ilgili bir sorun var. Alışveriş her zaman öğe sayısında farklı olsa da, çıktı hepsi aynıdır. Tamir etmeme yardım eder misin?Öğe dizeye eklenemiyor
import java.util.ArrayList;
public class ShoppingCart {
/**
*
*/
private LineItem[] item;
private int check;
public ShoppingCart() {
item = new LineItem[10];
check = 10;
}
public void add(LineItem newItem) {
int i = 0;
while (item[i] == null && check != 0){
item[i] = newItem;
i++;
check -= check;
}
}
public double getTotalCost() {
double totalCost = 0.0;
for(int i=0; i< item.length;i++){
if(item[i]!=null)
totalCost += item[i].getCost();
}
return totalCost;
}
}
Bu üçüncü sınıftır:
public class ShoppingCartTester{
public static void main(String[] args){
ShoppingCart singleItemCart = new ShoppingCart();
LineItem item1 = new LineItem("Dove shampoo",1,4.52);
singleItemCart.add(item1);
System.out.println(singleItemCart.getTotalCost());
//
ShoppingCart typicalCart = new ShoppingCart();
item1 = new LineItem("Dove shampoo",1,4.52);
typicalCart.add(item1);
LineItem item2 = new LineItem("apples",5,10.80);
typicalCart.add(item2);
LineItem item3 = new LineItem("avocados",5,20);
typicalCart.add(item3);
LineItem item4 = new LineItem("chocolate",1,4.25);
typicalCart.add(item4);
LineItem item5 = new LineItem("green onions",3,3.49);
typicalCart.add(item5);
System.out.printf("%.2f", typicalCart.getTotalCost());
System.out.println();
}
}
public class LineItem {
private String name;
private int quantity;
private double pricePerUnit;
/**
*
*/
public LineItem(String name, int quantity, double pricePerUnit) {
this.name = name;
this.quantity = quantity;
this.pricePerUnit = pricePerUnit;
}
public double getCost() {
return quantity*pricePerUnit;
}
public void setQuantity(int newQuantity) {
quantity=newQuantity;
}
}
Bu ikinci sınıftır:
Bu birinci sınıf: Burada
benim kodudurSanırım Sorun, ekleme yöntemindedir, ancak nasıl düzelteceğimi bilmiyorum.
fix1 :: yerine list
sahip olmak size add
i
aradığınız
public void add(LineItem newItem) {
int i = 0; <--- Problem begins
while (item[i] == null && check != 0){
item[i] = newItem;
i++;
check -= check;
}
}
Everytime 0'a reset oluyor:
şimdiden teşekkürler
bazı çıkışında bir göz alabilir oluşturmak için? – camelCoder
Aldığım çıktı bu: 4.52 4.52 –
Farklı sayılar olsa da. –