



版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
3.掌握字符串類(String,StringBuffer)的使用。VectorJava文件處理之后,再補充數(shù)據(jù)文1.程序首先打開并Inventory.dat中記錄的所有庫存記錄,然后Transactions.dat,處理這個文件中包含的事務,記錄發(fā)貨記錄到Ship.dat,并記錄錯誤信息到Errors.dat中。最后更新庫存到另外一個文件NewInventory.dat中。下面一些字段息,這些字段之間用一個tab分開(見后面的文件格式:ItemrItemsItemItem752800Transactions.dat包含幾個不同的事務處理記錄(每行一條記錄。每條不同的信息格式。所有的字段也是以tab鍵分開的(Transactions.dat文件格式。以O'開頭的事務表示這是一個發(fā)貨,即某一種貨物應該發(fā)給特定的客戶。tm號和數(shù)量ty的格式如上表格定義Cusom和上面的r一致(以O(減少的數(shù)量=發(fā)貨單的數(shù)量,錄發(fā)貨信息到Ship.dt中。注:nvnto.dt中的ty不應該小于0Eos.t戶也就是說對于一種貨如果一個數(shù)量y少的發(fā)單沒有處理之前,數(shù)量ty多的發(fā)單會被處理(這種理原則不發(fā)貨單記錄在rnco.t)以'R'開頭的事務表示這是一個到貨單記錄,在'R'Item號和它的數(shù)量。處可以用來填補發(fā)貨單中的數(shù)量(Transactions.dat中,優(yōu)先處理到貨以A(在A后面是tm號,應商r以及貨物的述dsiption。處理個新增貨物記錄意味著向庫存中增加一個數(shù)量y為0的新的tm。你可以假設在一個Tncisat以'D'開頭的事務表示從庫存中刪除一種貨物,在'D'Item號。刪除操作總應該向Errors.dat記錄出錯信息。文件Ship.dat中的每一行代表給某一客戶的發(fā)貨信息。Ship.dat中的每一行10Errors.dat文件包含未發(fā)送的發(fā)貨記錄和庫存量大于0的刪除記錄。于刪除操作,Custom為0,數(shù)量Quntity為庫存中的ty.importjava.io.*;importjava.util.*;classProductimplementsComparable<Product>{Stringitem;intStringr;Stringdescription;Integergetitem()return}publicintcompareTo(Productarg0)return}}classTransactionimplementsComparable<Transaction>{Stringitem;intStringcustom;Stringr;Stringdescription;Integergetty(){returnty;}publicintcompareTo(Transactionarg0){this.getty().compareTo(arg0.get}}classErrorStringcustom;Stringitem;intty;}classShip{Stringcustom;Stringitem;intty;}publicclassManagerpublicstaticvoidmain(Stringargs[])throwsIOException{Filefe=newFile("Errors.dat");Filefi=newFile("Inventory.dat");Filefn=newFile("NewInventory.dat");Filefs=newFile("Ship.dat");Fileft=newFile("Transactions.dat");FileWriterfwe=newFileWriter(fe);FileReaderfri=newFileReader(fi);FileWriterfwn=newFileWriter(fn);FileWriterfws=newFileWriter(fs);FileReaderfrt=newFileReader(ft);BufferedWriterfbe=newBufferedWriter(fwe);BufferedReaderfbi=newBufferedReader(fri);BufferedWriterfbn=newBufferedWriter(fwn);BufferedWriterfbs=newBufferedWriter(fws);BufferedReaderfbt=newBufferedReader(frt);String[]b=newString[4];Stringa;ArrayList<Product>inventory=newwhile((a=fbi.readLine())!=null){Productp=newProduct();b=a.split("\t");p.item=b[0];p.ty=p.r=b[2];p.description=b[3];}ArrayList<Transaction>alO=newArrayList<Transaction>alR=newArrayList<Transaction>alA=newArrayList<Transaction>alD=newArrayList<Error>alE=newArrayList<Error>();ArrayList<Ship>alS=newArrayList<Ship>();while((a=fbt.readLine())!=null){Transactiont=newTransaction();b=a.split("\t");chartrans=b[0].charAt(0);switch(trans){caset.item=t.ty=Integer.parseInt(b[2]);t.custom=b[3];caset.item= ty=caset.item=t.r=b[2];t.description=b[3];caset.item=}}while(!alA.isEmpty()){Transactiont=alA.remove(0);Productp=newProduct();p.item=t.item;p.ty=p.r=t.r;p.description=t.description;}while(!alR.isEmpty()){Transactiont=alR.remove(0);for(inti=0;i<inventory.size();i++)if(inventory.get(i).item.equals(t.item)){Productptemp=inventory.get(i);ptemp.ty=ptemp.ty+t.inventory.set(i,ptemp);}}}while(!alO.isEmpty()){Transactiont=for(inti=0;i<inventory.size();i++)if(inventory.get(i).item.equals(t.item)){if(inventory.get(i).ty>=t.ty)Productptemp=inventory.get(i); ty= ty
inventory.set(i,ptemp);Ships=newShip();s.custom=t.custom;s.item=s.ty=t.ty;if(alS.isEmpty())else{intfor(j=0;j<alS.size();j++){(alS.get(j).item.equals(s.item))Shipstemp=alS.get(j);stemp.ty=stemp.ty+s.alS.set(j,stemp);}}if(j==alS.size())}}elseErrore=newError();e.custom=t.custom;e.item=t.item;e.ty=t.ty;}}}}while(!alD.isEmpty()){Transactiont=alD.remove(0);for(inti=0;i<inventory.size();i++)if(inventory.get(i).item.equals(t.item)){if(inventory.get(i).ty==0)else{Errore=newError();e.custom="0";e.item=e.ty=t.ty;}}}}while(!alS.isEmpty()){Ships=alS.remove(0);fbs.write(s.custom+"\t"+s.item+"\t"+}while(!alE.isEmpty()){Errore=alE.remove(0);fbe.write(e.custom+"\t"+e.item+"\
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西師范大學《籃球》2023-2024學年第二學期期末試卷
- 池州學院《智能采油裝備》2023-2024學年第二學期期末試卷
- 哈爾濱信息工程學院《人力資源開發(fā)與管理》2023-2024學年第二學期期末試卷
- 南京醫(yī)科大學《鐵路與軌道交通車站工程》2023-2024學年第二學期期末試卷
- 內(nèi)江職業(yè)技術學院《Photoshop海報設計》2023-2024學年第二學期期末試卷
- 金肯職業(yè)技術學院《學前教育統(tǒng)計學》2023-2024學年第二學期期末試卷
- 廣東女子職業(yè)技術學院《安裝工程預算》2023-2024學年第二學期期末試卷
- 湖南農(nóng)業(yè)大學《材料的腐蝕與防護》2023-2024學年第二學期期末試卷
- 新鄉(xiāng)學院《人權法》2023-2024學年第二學期期末試卷
- 杭州萬向職業(yè)技術學院《高級管理研究》2023-2024學年第二學期期末試卷
- (高清版)DZT 0216-2020 煤層氣儲量估算規(guī)范
- 拖拉機駕駛員培訓(課件)
- TCASWSS 025-2024 老年大學課程設置規(guī)范
- 課堂互動和學生參與度提升
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學習課件
- 教師課堂教學語言技能范例課件
- 《體育與健康說課》課件
- 人教版化學九年級下冊同步練習:第九單元 溶液
- 華南師范大學附屬小學招聘教師筆試真題2022
- 山東女子學院《C語言程序設計》2022-2023學年期末試卷
- 2020年中國人身保險產(chǎn)品研究報告
評論
0/150
提交評論