不知道我假设代码盒类使它放花并存储它。与价格表相同我知道hashmap会很好,但不知道如何让它从FloristTest中获取价格。如果客户购买超过5,如果少于8,则会花费7。
public class FloristsTest {
// definicja metody sumowania wartości kwiatów o podanym kolorze
static int valueOf(Box box, String color) {
}
public static void main(String[] args) {
// Kwiaciarnia samoobsługowa
// ustalenie cennika
PriceList pl = PriceList.getInstance();
pl.put("róża", 8.0, 5, 7.0); // róża kosztuje 8 zł/sztuka jeśli klient kupi nie więcej niż 5 sztuk,
// w innym przypadku kosztuje 7 zł/stukę
pl.put("bez", 12.0); // bez kosztuje 12 zł/sztuka niezależnie od ilości
pl.put("piwonia", 8.0); // piwonia kosztuje 8 zł/sztuka niezależnie od ilości
// Przychodzi klient Janek. Ma 200 zł
Customer janek = new Customer("Janek", 200);
// Bierze różne kwiaty: 5 róż, 5 piwonii, 3 frezje, 3 bzy
janek.get(new Rose(5));
janek.get(new Peony(5));
janek.get(new Freesia(3));
janek.get(new Lilac(3));
// Pewnie je umieścił na wózku sklepowym
// Zobaczmy co tam ma
ShoppingCart wozekJanka = janek.getShoppingCart();
System.out.println("Przed płaceniem " + wozekJanka);
// Teraz za to zapłaci...
janek.pay(true); // true = płaci gotówką, bez prowizji
// Czy przypadkiem przy płaceniu nie okazało się,
// że w koszu są kwiaty na które nie ustalono jeszcze ceny?
// W takim razie zostałyby usunięte z wózka i Janek nie płaciłby za nie
// Również może mu zabraknąć pieniędzy, wtedy też kwiaty są odkładane.
System.out.println("Po zapłaceniu " + janek.getShoppingCart());
// Ile Jankowi zostało pieniędzy?
System.out.println("Jankowi zostało : " + janek.getCash() + " zł");
// Teraz jakoś zapakuje kwiaty (może do pudełka)
Box pudelkoJanka = new Box(janek);
janek.pack(pudelkoJanka);
// Co jest teraz w wózku Janka...
// (nie powinno już nic być)
System.out.println("Po zapakowaniu do pudełka " + janek.getShoppingCart());
// a co w pudełku
System.out.println(pudelkoJanka);
// Zobaczmy jaka jest wartość czerwonych kwiatów w pudełku Janka
System.out.println("Czerwone kwiaty w pudełku Janka kosztowały: "
+ valueOf(pudelkoJanka, "czerwony"));
// Teraz przychodzi Stefan
// ma tylko 60 zł
Customer stefan = new Customer("Stefan", 60);
// Ale nabrał kwiatów nieco za dużo jak na tę sumę
stefan.get(new Rose(6));
stefan.get(new Lilac(3));
// co ma w wózku
System.out.println(stefan.getShoppingCart());
// płaci i pakuje do pudełka
stefan.pay(false); // false = płaci kartą płatniczą, prowizja = 1%
Box pudelkoStefana = new Box(stefan);
stefan.pack(pudelkoStefana);
// co ostatecznie udało mu się kupić
System.out.println(pudelkoStefana);
// ... i ile zostało mu pieniędzy
System.out.println("Stefanowi zostało : " + stefan.getCash() + " zł");
}
}
Atm我做了几节课。
public class Rose extends Flower {
public Rose(int ilosc) {
super(ilosc, cena);
}
@Override
String getType() {
return "Roza";
}
@Override
String getColour() {
return "Czerwony";
}
@Override
int getNumber() {
// TODO Auto-generated method stub
return super.getNumber();
}
@Override
double getPrice() {
// TODO Auto-generated method stub
return super.getPrice();
}
}
public abstract class Flower {
int ilosc;
double cena;
Flower() {
}
public Flower(int ilosc, double cena) {
super();
this.ilosc = ilosc;
this.cena = cena;
}
abstract String getType();
abstract String getColour();
int getNumber() {
return ilosc;
};
double getPrice() {
return cena;
};
public String toString() {
return getType() + ", kolor: " + getColour() + ", sztuk: " + getNumber() + ", cena: " + getPrice() + "\n";
}
}
public class Kwiaty {
protected String rodzaj;
protected double cena;
public Kwiaty(String rodzaj, double cena) {
super();
this.rodzaj = rodzaj;
this.cena = cena;
}
}
import java.util.*;
public class PriceList {
private static PriceList instance;
private Kwiaty kwiaty;
private PriceList() {
}
public static PriceList getInstance() {
if (instance == null) {
instance = new PriceList();
}
return instance;
}
public Kwiaty getKwiaty() {
return kwiaty;
}
public void setKwiaty(Kwiaty kwiaty) {
this.kwiaty = kwiaty;
}
}
import java.util.*;
public class Box {
String color;
}
我不知道我想在框中编码以使它在那里放花。
答案 0 :(得分:0)
为您提供一个开始。将一个简单的ArrayList放入Box中。然后添加一个setter。 每当您想在列表中存储Flower-Object时,请使用框的setter-method。
import java.util.ArrayList;
import java.util.List;
public class Box {
String color;
private List<Flower> flowers = new ArrayList<Flower>();
public void setFlower(Flower flower) {
flowers.add(flower);
}
}
这只是第一个提示。我想你会发现如何添加缺失的部分来获得价格表等等。