Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

java結帳系統!!(急)附詳解~~

使用者在買東西,結帳的時候他把所有購買的商品列出來(程式內已自訂商品)給自動結帳服務系統。此系統這時候將會做如下工作:

程式內自行建立的資料如下:

10筆使用者帳號

20筆商品資料,包括該商品的編號、名稱、價格、折扣

要求輸入帳號,並檢查該使用者是否屬於會員:

是:檢查所有商品裡面是否有折扣:

是:以折扣價計算

不是:以一般的價格計算

不是:全部商品以一般價格計算

計算使用者需要付款的總額。

列印簡單的收據內容如下:

使用者帳號(如有)

商品名稱--------------價格

---------------------------總額

Update:

不好意思!!我看不太懂耶!!

請問能否再解釋的清楚一點...................

Update 2:

我得E-MAIL是ann10279@yahoo.com.tw!!!!

拜託你了~~謝謝

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    主:內建資料請加在初始那裡

    public class Sell{

    private static java.util.List<Item> iList=new java.util.LinkedList();

    private static java.util.List<Member> mList=new java.util.LinkedList();

    private static java.util.Scanner jin=new java.util.Scanner(System.in);

    //初始化一些資料

    static {

    iList.add(new Item(iList.size(),"柴",100,5));

    iList.add(new Item(iList.size(),"米",200,10));

    iList.add(new Item(iList.size(),"油",300,15));

    iList.add(new Item(iList.size(),"鹽",400,20));

    iList.add(new Item(iList.size(),"醬",500,25));

    mList.add(new Member("admin"));

    mList.add(new Member("john"));

    mList.add(new Member("mary"));

    }

    //主

    public static void main(String[] args){

    boolean isMem=false;

    StringBuffer sb=new StringBuffer();

    String code;//帳號

    int index=0;//編號

    int num=1;//數量

    int total=0;//總額

    System.out.println("請輸入使用者帳號:");

    code=jin.next();

    //判斷是否為會員

    for (Member m:mList){

    if (m.getName().equals(code)){

    isMem=true;

    break;

    }

    }

    //秀出清單

    for (Item i:iList){

    System.out.println(i.getItemInfo());

    }

    //交易

    do{

    System.out.println("請輸入編號:");

    index=jin.nextInt();

    System.out.println("請輸入數量:");

    num=jin.nextInt();

    total+=iList.get(index).howMuch(isMem)*num;

    sb.append(iList.get(index).getName()+": "+iList.get(index).howMuch(isMem)+"\n");

    System.out.println("繼續?y/n");

    if (jin.next().equals("n")){

    break;

    }

    }while(true);

    //輸出

    System.out.println("帳單");

    if (isMem){

    System.out.println("使用者帳號:"+code);

    }

    System.out.println(sb.toString());

    System.out.println("總價:"+total);

    }

    }

    還有另兩個類別

    2009-12-29 19:44:10 補充:

    另外兩個類別

    public class Member{

    private String name;

    public Member(){}

    public Member(String name){

    this.name=name;

    }

    public String getName(){

    return name;

    }

    }

    2009-12-29 19:44:54 補充:

    第二個

    public class Item{

    private int num;

    private String name;

    private int value;

    private int sale;

    public Item(){}

    public Item(int num,String name,int value,int sale){

    this.num=num;

    this.name=name;

    this.value=value;

    this.sale=sale;

    }

    2009-12-29 19:44:59 補充:

    //一般價格與折扣價

    public int howMuch(boolean isMem){

    return (isMem)?sale:value;

    }

    public String getItemInfo(){

    return new String("編號:"+num+"名稱:"+name+"價格:"+value);

    }

    public String getName(){

    return name;

    }

    }

    2009-12-29 19:47:14 補充:

    參考看看吧(寫的很亂)

    這3個類別請放在一塊

    2010-01-04 22:01:56 補充:

    共三個個類別一個是Member

    另一個是Item

    還有一個主要的Sell是自訂一些商品和會員資料

    後來我又有修改了一些些你若需要的話留下一EMAIL或EMAIL給我QQ

    Source(s): 自己, 自己, 自己, 自己
  • 1 decade ago

    無最佳解答

Still have questions? Get your answers by asking now.