Java实验之货物进销管理系统

                                                货物进销管理系统

一、实验目的

    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,blue
1234	0	4	Whatsit
123123	999999	98	Doohicky

Transactions.txt:

O	123123	1000	9
O	17	36	8
O	17	12	4
R	123123	1
D	1234	
A	5	4	Thingy



你可能感兴趣的:(JAVA)