知識+看到
原PO要求:
http://tw.knowledge.yahoo.com/question/question?qid=1011072703555
要幫書店設計程式,要能
有main menu
顯示全部的書
顯示缺貨的書
加新的書
update書的量
告訴使用者輸入的資料有誤
顯示最貴的書
顯示最便宜的書
尋找一本書
移除一本書
=============
我加了 可以供更改書本的價錢
預設我加了3本書進去test
書名:小叮噹 剩餘數量:500(本) 單價:100.8(元)
書名:火影忍者 剩餘數量:300(本) 單價:200.8(元)
書名:海賊王 剩餘數量:0(本) 單價:200.8(元)
不要的話自己從程式碼內刪掉
如果要更完整 例如說:依照輸入價錢 取得書籍 或是File TXT SQL等等的
可自行運用
================
========================================storeMenu(主介面)
import java.util.Scanner; public class storeMenu extends storeImplementation{ public static void main(String[] args) { int chooseitem;//主選單所選 bookdata.add(new bookData("小叮噹",100.8,500)); bookdata.add(new bookData("火影忍者",200.8,300)); bookdata.add(new bookData("海賊王",200.8,0)); while(1<2){ System.out.println("============="); System.out.println("1.顯示全部書籍資料\n"+"2.顯示缺貨書籍資料\n"+"3.加入新的書籍\n"+"4.更新書籍的量\n"+"5.顯示最貴的書\n"+ "6.顯示最便宜的書\n"+"7.尋找書籍\n"+"8.移除書籍\n"+"9.更改價錢\n"+"10.離開"); System.out.println("============="); Scanner scan =new Scanner(System.in); chooseitem=scan.nextInt(); try{ switch(chooseitem){ case 1://顯示全部書籍資料 printBookData(); break; case 2://顯示缺貨的書籍 outOfStock(); break; case 3://加入新的書籍 addBook(); break; case 4://更新書籍的量 updataAmount(); break; case 5://找最貴的書 MostexpensiveBook(); break; case 6://找最便宜的書 CheapestBook(); break; case 7://尋找書籍 searchBook(); break; case 8://移除書籍 deleteBookData(); break; case 9://更改價錢 updataMoney(); break; case 10://離開 break; default : System.out.println("~~請輸入1到10~~"); break; } if(chooseitem==10){ break; } }catch(Exception e){ System.out.println("有無法辨識的錯誤"); System.out.println(e); } }//while } }
========================================bookData(書籍資料)public class bookData { protected String Name;//名稱 protected double Money;//價錢 protected int Amount;//數量 bookData(){ } bookData(String name,double money,int amount){ Name=name; Money=money; Amount=amount; } protected void setName(String name){ Name=name; } protected void setAmount(int amount){ Amount=amount; } protected void setMoney(double money){ Money=money; } }========================================storeImplementation(主介面實作)
import java.util.ArrayList; import java.util.Scanner; public class storeImplementation extends bookData{ protected static ArrayList<bookData> bookdata =new ArrayList<bookData>(); protected static void printBookData(){//顯示所有書籍資料 for(int i=0;i<bookdata.size();i++){ System.out.println("書名:"+bookdata.get(i).Name+" 剩餘數量:"+bookdata.get(i).Amount+
"(本) 單價:"+bookdata.get(i).Money+"(元)"); } } protected static void outOfStock(){//顯示缺貨書籍 for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Amount==0){ System.out.println("書名:"+bookdata.get(i).Name+" 單價:"+bookdata.get(i).Money+"(元) 庫存為:0本"); } } } protected static void addBook(){//加入書籍 Scanner scan =new Scanner(System.in); String Name;//名稱 double Money;//價錢 int Amount;//數量 try{ System.out.println("請輸入要加入的書籍名稱:"); Name=scan.next(); System.out.println("請輸入價錢(元):"); Money=scan.nextDouble(); System.out.println("請輸入數量(本):"); Amount=scan.nextInt(); bookdata.add(new bookData(Name,Money,Amount)); System.out.println("資料加入成功"); }catch(Exception e){ System.out.println("輸入錯誤 請檢查有無輸入錯誤"); } } protected static void updataAmount(){//更新書籍的量 Scanner scan=new Scanner(System.in); String Name;//名稱 int Amount;//數量 int index=-1; try{ System.out.println("請輸入要更新的書籍名稱:"); Name=scan.next(); for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Name.equals(Name)){ index=i; break; } } if(index==-1){//找不到書籍名稱 System.out.println("找不到此書籍名稱"); }else{ System.out.println("書名:"+bookdata.get(index).Name+" 現有數量:"+bookdata.get(index).Amount+"(本)"); System.out.println("請輸入新的數量(本):"); Amount=scan.nextInt(); bookdata.get(index).setAmount(Amount); System.out.println("資料更新成功"); } }catch(Exception e){ System.out.println("輸入錯誤 請檢查有無輸入錯誤"); } } protected static void MostexpensiveBook(){//找最貴的書 int mostIndex=0;//最貴的書所在的索引 double mostTemp=0; for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Money>mostTemp){ mostTemp=bookdata.get(i).Money; mostIndex=i; } } System.out.println("目前最貴的書為:"+bookdata.get(mostIndex).Name+" 價錢為:"+bookdata.get(mostIndex).Money+ "(元) 庫存為:"+bookdata.get(mostIndex).Amount+"(本)"); } protected static void CheapestBook(){//找最便宜的書 int mostIndex=0;//最便宜的書所在的索引 double mostTemp=bookdata.get(0).Money;//以第一本書暫時當作最便宜價錢 for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Money<mostTemp){ mostTemp=bookdata.get(i).Money; mostIndex=i; } } System.out.println("目前最便宜的書為:"+bookdata.get(mostIndex).Name+" 價錢為:"+bookdata.get(mostIndex).Money+ "(元) 庫存為:"+bookdata.get(mostIndex).Amount+"(本)"); } protected static void searchBook(){//尋找書籍 Scanner scan=new Scanner(System.in); String name;//要尋找的書籍名稱 int index=-1;//書的索引 System.out.println("請輸入書籍名稱:"); name=scan.next(); for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Name.equals(name)){ index=i; } } if(index==-1){ System.out.println("找不到此書籍"); }else{ System.out.println("書名:"+bookdata.get(index).Name+" 價錢為:"+bookdata.get(index).Money+ "(元) 庫存為:"+bookdata.get(index).Amount+"(本)"); } } protected static void deleteBookData(){//刪除書籍資料 Scanner scan=new Scanner(System.in); String name;//要尋找的書籍名稱 int index=-1;//書的索引 System.out.println("請輸入要刪除的書籍名稱:"); name=scan.next(); for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Name.equals(name)){ index=i; } } if(index==-1){ System.out.println("找不到此書籍"); }else{ bookdata.remove(index); System.out.println("資料刪除成功"); } } protected static void updataMoney(){//更新書籍的價錢 Scanner scan=new Scanner(System.in); String Name;//名稱 double Money;//價錢 int index=-1; try{ System.out.println("請輸入要更新的書籍名稱:"); Name=scan.next(); for(int i=0;i<bookdata.size();i++){ if(bookdata.get(i).Name.equals(Name)){ index=i; break; } } if(index==-1){//找不到書籍名稱 System.out.println("找不到此書籍名稱"); }else{ System.out.println("書名:"+bookdata.get(index).Name+" 價錢(元):"+bookdata.get(index).Money); System.out.println("請輸入更新後的價錢(元):"); Money=scan.nextDouble(); bookdata.get(index).setMoney(Money); System.out.println("資料更新成功"); } }catch(Exception e){ System.out.println("輸入錯誤 請檢查有無輸入錯誤"); } } }
文章標籤
全站熱搜
留言列表