實驗報告實驗二_第1頁
實驗報告實驗二_第2頁
實驗報告實驗二_第3頁
實驗報告實驗二_第4頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論