




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_Java程序设计实验报告-实验2实验室: 2014 年 12 月 10 日学院计算机与信息学院专业班级姓名成绩课程名称Java程序设计实验项目名 称 实验二 货物进销管理系统指导教师教师评语 教师签名: 年 月 日一、实验目的1掌握Java中文件的读写操作。2学会使用Java提供的实用类(Vector, ArrayList)来完成特定的功能。3掌握字符串类(String, StringBuffer)的使用。4掌握用面向对象的方法分析和解决复杂问题。二、实验原理1.程序首先打开并读取Inventory.dat中记录的所有库存记录,然后读取Transactions.dat,处理这个文件中包含的事务,记录发货记录到Shipping.dat,并记录错误信息到Errors.dat中。最后更新库存到另外一个文件NewInventory.dat中。三、使用硬件、软件环境PC 计算机一台,配置为CPU为2.6G,内存为4G,硬盘为1T,安装Windows8操作系统。另外,使用JCreator,JDK1.8.0等软件4、 实验过程、步骤及原始记录(算法、原程序、测试结果,分析等) 1.实验过程:首先在电脑中新建5个dat文件。分别为Inventory.dat、Transactions.dat、Shipping.dat、Errors.dat、NewInventory.dat ;在Inventory.dat、Transactions.dat中写要求的实验信息。程序先打开Inventory.dat、Transactions.dat文件,读取其中的数据,分析Transactions.dat中的数据,分类进行处理,最后将更新的Inventory.dat数据复制到NewInventory.dat中 2. 源程序:import java.io.*;/*保存Inventory.dat中的数据*/ class huowuString itemNumber;int quantity;String supplier;String description;int biaoji=1;/*保存Transaction中的数据*/class transString type;String itemNumber;int quantity;String supplier;String description;/*用来保存O交易数据的中间类,以满足quantity大的最后进行交易*/class fuzhuString itemNumber;int quantity;String supplier;public class Inventory public static void main(String args) huowu huo = new huowu100;int huolength=0; trans tra = new trans100;int tralength=0; fuzhu fz=new fuzhu100;int fzlength=0; try String s = null; /*读取Inventory.dat中的数据,保存到内存*/ BufferedReader invent = new BufferedReader(new FileReader(Inventory.dat); char str; while(s = invent.readLine()!= null) str = s.toCharArray(); int t=0; int i=0; int x=0; String s1; huohuolength=new huowu(); while(istr.length) for(x+;istr.length&stri!=t;i+) s1 = new String(str,t,i-t); if(x=1) huohuolength.itemNumber = new String(s1); if(x=2) huohuolength.quantity = Integer.parseInt(s1); if(x=3) huohuolength.supplier = new String(s1); if(x=4) huohuolength+.description = new String(s1); i+; t=i; invent.close(); catch(Exception e) System.out.println (error1); /*读取Transaction.dat中的数据,保存到内存*/ try String s = null; BufferedReader tr = new BufferedReader(new FileReader(Transactions.dat); char str; while(s = tr.readLine()!= null) str = s.toCharArray(); int t=0; int i=0; int x=0; String s1; tratralength=new trans(); while(istr.length) for(x+;istr.length&stri!=t;i+) s1 = new String(str,t,i-t); if(x=1) tratralength.type = new String(s1); i+; t=i; else if(tratralength.type.equals(O) if(x=2) tratralength.itemNumber = new String(s1); if(x=3) tratralength.quantity = Integer.parseInt(s1); if(x=4) tratralength.supplier = new String(s1); i+; t=i; else if(tratralength.type.equals(R) if(x=2) tratralength.itemNumber = new String(s1); if(x=3) tratralength.quantity = Integer.parseInt(s1); i+; t=i; else if(tratralength.type.equals(D) if(x=2) tratralength.itemNumber = new String(s1); i+; t=i; else if(tratralength.type.equals(A) tratralength.quantity=0; if(x=2) tratralength.itemNumber = new String(s1); if(x=3) tratralength.supplier = new String(s1); if(x=4) tratralength.description = new String(s1); i+; t=i; tralength+; tr.close(); catch (Exception ex) System.out.println (error2); /*将Transaction.dat中的数据与Inventory.dat中的数据进行比较处理*/ /对A进行处理 for(int i=0;itralength;i+) if(trai.type.equals(A) int j = huolength+; huoj = new huowu(); huoj.itemNumber=new String(trai.itemNumber); huoj.quantity=trai.quantity; huoj.supplier=new String(trai.supplier); huoj.description=new String(trai.description); /对R进行处理 for(int i=0;itralength;i+) if(trai.type.equals(R) for(int t=0;thuolength;t+) if(trai.itemNumber.equals(huot.itemNumber) huot.quantity+=trai.quantity; /对O进行处理/先将O型数据保存的fuzhu类 for(int i=0;itralength;i+) int xiangtong=-1; if(trai.type.equals(O) for(int j=0;jfzlength;j+) if(trai.itemNumber.equals(fzj.itemNumber)&trai.supplier.equals(fzj.supplier) fzj.quantity+=trai.quantity; xiangtong=1; break; if(xiangtong0) fzfzlength = new fuzhu();fzfzlength.itemNumber=new String(trai.itemNumber);fzfzlength.quantity=trai.quantity;fzfzlength.supplier=new String(trai.supplier);fzlength+; /在fuzhu类中先按数量排序处理 for(int i=0;ii;j-) if(fzj.quantityfzj-1.quantity) int q=0; String it; String su; q=fzj.quantity;fzj.quantity=fzj-1.quantity;fzj-1.quantity=q; it=new String(fzj.itemNumber);fzj.itemNumber=fzj-1.itemNumber;fzj-1.itemNumber=it; su=new String(fzj.supplier);fzj.supplier=fzj-1.supplier;fzj-1.supplier=su; try BufferedWriter error = new BufferedWriter(new FileWriter(Errors.dat); BufferedWriter ship = new BufferedWriter(new FileWriter(Shipping.dat); BufferedWriter newinv = new BufferedWriter(new FileWriter(NewInventory.dat); /将O型数据与Inventory.dat中的数据比较处理,并在处理过程中按要求记录error和shipping信息 for(int i=0;ifzlength;i+) for(int j=0;jhuoj.quantity) error.write(fzi.supplier); error.write(); error.write(fzi.itemNumber); error.write(); error.write(String.valueOf(fzi.quantity); error.newLine(); else huoj.quantity-=fzi.quantity; ship.write(fzi.supplier); ship.write(); ship.write(fzi.itemNumber); ship.write(); ship.write(String.valueOf(fzi.quantity); ship.newLine(); /对D型数据进行处理 for(int i=0;itralength;i+) if(trai.type.equals(D) for(int j=0;j0) error.write(0); error.write(); error.write(huoj.itemNumber); error.write(); error.write(String.valueOf(huoj.quantity); error.newLine(); else huoj.biaoji=-1; /将更新的Inventrory中的数据按item排序并更新到NewInventory.dat中 for(int i=0;ihuolength;i+) /排序 for(int j=0;jj;k-) if(Integer.parseInt(huok.itemNumber)0) newinv.write(huoi.itemNumber); newinv.write(); newinv.write(String.valueOf(huoi.quantity); newinv.write(); newinv.write(huoi.supplier); newinv.write(); newinv.write(huoi.description); newinv.newLine(); error.close(); ship.close(); newinv.close(); catch (Excep
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工程监理中级考试指南与模拟题解析
- 2025年华能集团校园招聘攻略笔试模拟题及详尽解析
- 2025年机械工程专家面试模拟题与答案解析
- 2025年大数据分析师面试必-备知识要点与预测题
- 2025年注册会计师考试CPA备考攻略与模拟题
- 2025年初级网络安全工程师认证模拟题集及答案详解
- 2025年电子信息技术工程师专业技能考核试题集
- 制作虚拟现实教学课件
- 2025年电气设备安装与调试中级考试指南
- 2025年物资储备领域财务招聘考试高频词汇解析
- 《旅游经济学(第3版)》全套教学课件
- 人教版高一下学期期末考试数学试卷与答案解析(共五套)
- SYT 5822-2021 油田化学剂分类及命名规范-PDF解密
- 人教版小学3-6年级英语单词表,已A4排版,可直接打印
- 制造业班组长培训
- 创作属于自己的国画作品
- 烟草行业基础知识培训课件
- 《花生膜下滴灌技术》课件
- 2024年江苏高科技投资集团有限公司招聘笔试参考题库含答案解析
- 办公室文员员工职责
- 完整版江苏省政府采购专家库入库考试题库(1-4套卷)
评论
0/150
提交评论