




免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 38300-2025防护服装防寒服
- GB/T 2414.2-2025压电陶瓷材料性能试验方法长条横向长度伸缩振动模式
- 2025广西防城港市港口区渔洲坪社区卫生服务中心招聘4人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025安康职业技术学院招聘高层次和紧缺人才(23人)模拟试卷完整答案详解
- 冬季面料商品知识培训课件
- 2025北京航空航天大学校医院聘用编B超医生及检验师F岗招聘3人考前自测高频考点模拟试题附答案详解(典型题)
- 2025广西田东县总工会招聘社会化工会工作者1人模拟试卷及答案详解(网校专用)
- 2025广东佛山市季华中学招聘编制教师2人模拟试卷带答案详解
- 2025内蒙古通辽市开鲁县卫生健康系统招聘卫生专业技术人员15人模拟试卷及完整答案详解1套
- 外协员工安全培训判断题课件
- 2025年中级制图员《理论知识》考试真题(含新版解析)
- 广东省2025年度初级注册安全工程师职业资格考试金属非金属矿山安全复习题及答案
- 惊恐障碍课件
- 银行招聘考试题目及答案
- 十二经络课件
- Starter Unit 3 Welcome 单元测试(含答案)人教版(2024)七年级英语上册
- 物料选型管理办法
- 玻璃委托代加工合同范本
- 年产9000吨塑料粒子项目报告表
- 音乐传播三试题及答案
- 秦朝服饰设计分享
评论
0/150
提交评论