本文共 4444 字,大约阅读时间需要 14 分钟。
货物进销管理系统
一、实验目的
1.掌握Java中文件的读写操作。
2.学会使用Java提供的实用类(Vector, ArrayList)来完成特定的功能。
3.掌握字符串类(String, StringBuffer)的使用。
4.掌握用面向对象的方法分析和解决复杂问题。
二、实验原理
1.使用java的文件读写操作读入货物的信。
2.使用vector容器将货物的信息存储起来。
3.创建多个类将信息分类。
4.通过判断信息的类型建立相应的成员函数进行处理信息。
5.将各个消息分类写入到新的文本中。
三、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)
1、将各个货物的信息与种类读入并分类存储起来。
2、创建多个类分别用来执行相应的操作。
3、创建各个成员函数处理类从而将货物的信息进行处理。
4、通过对应的信息编码分别进行发货、到货记录、库存、删除等操作。
5、将各个处理后的信息分类存储到相应的文本文件中。
主代码:
import java.io.*; import java.util.Vector; public class Inventory{ //建立相应的vector容器为存储信息做准备。 @SuppressWarnings("rawtypes") Vector inv = new Vector(); @SuppressWarnings("rawtypes") Vector receive = new Vector(); @SuppressWarnings("rawtypes") Vector offer = new Vector(); @SuppressWarnings("rawtypes") Vector AddNam = new Vector(); @SuppressWarnings("rawtypes") Vector DeleteNum = new Vector(); @SuppressWarnings("rawtypes") Vector shipping_v = new Vector(); @SuppressWarnings("rawtypes") Vector Err_v = new Vector(); @SuppressWarnings("unchecked") //将文件信息读入并存储在vector容器中。 public void readInv(String filename){ try{ BufferedReader br = new BufferedReader(new FileReader(filename)); String s = null; while((s=br.readLine()) != null){ String[] Name = s.split("\t"); inv.add(new Inv(Integer.parseInt(Name[0]),Integer.parseInt(Name[1]),Integer.parseInt(Name[2]),Name[3])); } br.close(); } catch(Exception e){ } } @SuppressWarnings("unchecked") //根据读入的ORAD字母进行相应的操作。 public void readTra(String filename){ try{ BufferedReader br = new BufferedReader(new FileReader(filename)); String s = null; while((s=br.readLine()) != null){ String[] Name = s.split("\t"); char method = Name[0].charAt(0); if(method=='O') offer.add(new Offer(Integer.parseInt(Name[1]), Integer.parseInt(Name[2]), Integer.parseInt(Name[3]))); else if(method=='R') receive.add(new Receive(Integer.parseInt(Name[1]), Integer.parseInt(Name[2]))); else if(method=='A') AddNam.add(new Add(Integer.parseInt(Name[1]), Integer.parseInt(Name[2]), Name[3])); else if(method=='D') DeleteNum.add(new Delete(Integer.parseInt(Name[1]))); } br.close(); } catch(Exception e){ } } @SuppressWarnings("unchecked") //进行添加操作。 public void dealAdd(){ for(int i=0; i((Offer)offer.get(j)).Next ){ Offer Name = (Offer)offer.get(i); offer.set(i,(Offer)offer.get(j)); offer.set(j,Name); } } } } @SuppressWarnings("unchecked") //记录货物信息。 public void dealOffer(){ for(int i=0; i = ((Offer)offer.get(i)).Next ){ ((Inv)inv.get(j)).cut( ((Offer)offer.get(i)).Next ); shipping_v.add( (Offer)offer.get(i) ); } else{ Err Name = new Err( (Offer)offer.get(i) ); Err_v.add(Name); } } } } @SuppressWarnings("unchecked") //记录需要删除的信息。 public void dealDelete(){ for(int i=0; i ((Inv)inv.get(j)).Index ){ Inv Name = (Inv)inv.get(i); inv.set(i,(Inv)inv.get(j)); inv.set(j,Name); } } } //将信息保存在相应的文本中。 public void write(String filenames){ try{ String[] filename = filenames.split(" "); BufferedWriter ibw = new BufferedWriter(new FileWriter(filename[0])); BufferedWriter sbw = new BufferedWriter(new FileWriter(filename[1])); BufferedWriter ebw = new BufferedWriter(new FileWriter(filename[2])); for(int i=0; i
Inventory.txt:
17 42 6 Widget,blue1234 0 4 Whatsit123123 999999 98 Doohicky
Transactions.txt:
O 123123 1000 9O 17 36 8O 17 12 4R 123123 1D 1234 A 5 4 Thingy
转载地址:http://onhpi.baihongyu.com/