货物进销管理系统_第1页
货物进销管理系统_第2页
货物进销管理系统_第3页
货物进销管理系统_第4页
货物进销管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Java程序设计实验报告-实验2实验室:2014年12月10 日学院计算机与信息学院专业班级姓名成绩课程 名称实验项目Java程序设计”切名称实验二货物进销管理指导系统教师教师 评 语教师签名:年月日一、实验目的1 .掌握Java中文件的读与操作。2学会使用Java提供的头用类(Vector, ArrayList )来元成特疋的功能。3. 掌握子符串类(String, StringBuffer)的使用。4. 掌握用面向对象的方法分析和解决复杂冋题。二、实验原理1.程序首先打开并读取Inventory.dat中记录的所有库存记录,然后读取Tran sactio ns.dat ,处理这个文件中包

2、含的事务,记录发货记录到 Shipp in g.dat , 并记录错误信息到Errors.dat中。最后更新库存到另外一个文件 New In ve ntory.dat 中。三、使用硬件、软件环境PC计算机一台,配置为CPU为2.6G ,内存为4G,硬盘为1T,安装Windows8操作系统。 另外,使用 JCreator , JDK1.8.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)1. 实验过程:首先在电脑中新建 5个dat文件。分别为Inventory.dat Transactions.dat、Shipp in g.dat、Errors.dat、Newlnven t

3、ory.dat ; 在 Inven tory.dat、Tran sact ion s.dat 中写要 求的头验信息。程序先打开Inventory.dat、Transactions.dat文件,读取其中的数据,分析Transactions.dat中的数据,分类进行处理,最后将更新的Inventory.dat数据复制到Newlnventory.dat 中2.源程序:import java.io.*;/*保存Inventory.dat 中的数据*/class huowuStri ng itemNumber; int qua ntity;String supplier;String descripti

4、o n; int biaoji=1;/*保存Transaction 中的数据*/class transStri ng type;Stri ng itemNumber; int qua ntity;String supplier;String descriptio n;/*用来保存O交易数据的中间类,以满足quantity大的最后进行交易*/class fuzhuStri ng itemNumber; int qua ntity;String supplier;public class Inven torypublic static void main( Stri ng args) huowu

5、huo = new huowu100;i nt huole ngth=O;tran s tra = new tran s100;i nt trale ngth=0;fuzh u fz=new fuzhu100;i nt fzle ngth=0;tryStri ng s = n ull;/*读取Inventory.dat中的数据,保存到内存*/BufferedReader invent = new BufferedReader( new FileReader(l nven tory.dat);char str;while(s = inven t.readLi ne()!= nu ll)str =

6、 s.toCharArray();int t=0;int i=0;int x=0;Stri ng s1; huohuole ngth=new huowu();while(istr.le ngth) for(x+;istr.le ngth&stri!=t;i+)s1 = new Strin g(str,t,i-t);if(x=1)huohuole ngth.itemNumber = new Stri ng(s1); if(x=2)huohuole ngth.qua ntity = In teger.parse In t(s1); if(x=3)huohuole ngth.supplier = n

7、ew Strin g(s1); if(x=4)huohuolength+.description = new String(s1); i+;t=i;inven t.close(); catch(Exceptio n e)System.out.pri ntln (error1);/*读取Transaction.dat中的数据,保存到内存*/try BufferedReader( newStri ng s = n ull;BufferedReadertr= newFileReader(Tra nsactio ns.dat);char str;while(s = tr.readL in e()!=

8、n ull)str = s.toCharArray();int t=0;int i=0;int x=0;Stri ng s1;tratrale ngth=new tran s();while(istr.le ngth) for(x+;istr.le ngth&stri!=t;i+)si = new Stri ng(str,t,i-t);if(x=1)tratralength.type = new String(s1); i+; t=i;elseif(tratrale ngth.type.equals(O) if(x=2)tratralength.itemNumber = new String(

9、s1); if(x=3)tratrale ngth.qua ntity = In teger.parse In t(s1); if(x=4)tratrale ngth.supplier = new Strin g(s1); i+;t=i;else if(tratrale ngth.type.equals(R)if(x=2)tratrale ngth.itemNumber=newStri ng(s1);if(x=3)tratrale ngth.qua ntity=In teger.parse In t(s1);i+; t=i;else if(tratrale ngth.type.equals(D

10、)if(x=2) tratrale ngth.itemNumber= newStri ng(s1);i+;t=i;else if(tratrale ngth.type.equals(A)tratrale ngth.qua ntity=0;if(x=2)tratrale ngth.itemNumber=newStri ng(s1);if(x=3)tratrale ngth.supplier=newStri ng(s1);if(x=4)tratrale ngth.descripti on= newStri ng(s1);i+;t=i;trale ngth+;tr.close();catch (Ex

11、cepti on ex) System.out.pri ntln (error2);/* 将Transaction.dat中的数据与Inventory.dat中的数据进行比较处理*/ 对A进行处理for(int i=0;itralength;i+)if(trai.type.equals(A)int j = huole ngth+;huoj = new huowu();huoj.itemNumber= new String(trai.itemNumber);huoj.qua ntity=trai.qua ntity;huoj.supplier=new Strin g(trai.supplier)

12、;huoj.descripti on=n ew Strin g(trai.descriptio n);/对R进行处理for(int i=0;itralength;i+)if(trai.type.equals(R)for(i nt t=0;thuole ngth;t+)if(trai.itemNumber.equals(huot.itemNumber) huot.qua ntity+=trai.qua ntity;/对O进行处理/先将O型数据保存的fuzhu类for(int i=0;itralength;i+)int xia ngton g=-1;if(trai.type.equals(O)fo

13、r(i nt j=O;jvfzle ngth;j+)if(trai.itemNumber.equals(fzj.itemNumber)&trai.supplier.equal s(fzj.supplier)fzj.qua ntity+=trai.qua ntity;xia ngton g=1; break;if(xia ngton g0)fzfzle ngth = new fuzhu();fzfzlength.itemNumber= new String(trai.itemNumber);fzfzle ngth.qua ntity=trai.qua ntity;fzfzle ngth.supp

14、lier =new Strin g(trai.supplier); fzlen gth+;/在fuzhu类中先按数量排序处理for(i nt i=0;ii;j-)if(fzj.qua ntityfzj-1.qua ntity)int q=0;Stri ng it;String su;q=fzj.qua ntity;fzj.qua ntity=fzj-1.qua ntity;fzj-1.qua ntity=q; it=newStri ng(fzj.itemNumber);fzj.itemNumber=fzj-1.itemNumber;fzj-1.ite mNumber=it;su=newStri

15、n g(fzj.supplier);fzj.supplier=fzj-1.supplier;fzj-1.supplier=su;tryBufferedWritererror=newBufferedWriter( newFileWriter(Errors.dat);BufferedWritership=newBufferedWriter( newFileWriter(Shippi ng.dat);BufferedWriternewinv=newBufferedWriter( newFileWriter(NewI nven tory.dat);/将O型数据与Inventory.dat中的数据比较处

16、理,并在处理过程中按 要求记录error 和shipping 信息for(i nt i=0;ifzle ngth;i+)for(i nt j=0;jhuoj.qua ntity)error.write(fzi.supplier);error.write(”);error.write(fzi.itemNumber);error.write(”);error.write(Stri ng.valueOf(fzi.qua ntity);error. newL in e();elsehuoj.qua ntity-=fzi.qua ntity;ship.write(fzi.supplier);ship.w

17、rite();ship.write(fzi.itemNumber);ship.write();ship.write(Stri ng.valueOf(fzi.qua ntity);ship. newLi ne();/对D型数据进行处理for(int i=0;itralength;i+)if(trai.type.equals(D)for(i nt j=0;j0)error.write(0);error.write(” );error.write(huoj.itemNumber);error.write(” );error.write(Stri ng.valueOf(huoj.qua ntity);

18、error. newL in e();elsehuoj.biaoji=-1;/将更新的Inventrory中的数据按item 排序并更新到NewI nven tory.dat 中for(i nt i=0;ihuole ngth;i+)/r#序for(i nt j=0;jj;k-)if(I nteger.parse In t(huok.itemNumber)0)n ewi nv.write(huoi.itemNumber);newinv .write(”);n ewi nv.write(Stri ng.valueOf(huoi.qua ntity);newinv .write(”);n ewi nv.write(huoi.suppl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论