货物进销管理系统Word下载.docx

上传人:b****4 文档编号:6931403 上传时间:2023-05-07 格式:DOCX 页数:14 大小:42KB
下载 相关 举报
货物进销管理系统Word下载.docx_第1页
第1页 / 共14页
货物进销管理系统Word下载.docx_第2页
第2页 / 共14页
货物进销管理系统Word下载.docx_第3页
第3页 / 共14页
货物进销管理系统Word下载.docx_第4页
第4页 / 共14页
货物进销管理系统Word下载.docx_第5页
第5页 / 共14页
货物进销管理系统Word下载.docx_第6页
第6页 / 共14页
货物进销管理系统Word下载.docx_第7页
第7页 / 共14页
货物进销管理系统Word下载.docx_第8页
第8页 / 共14页
货物进销管理系统Word下载.docx_第9页
第9页 / 共14页
货物进销管理系统Word下载.docx_第10页
第10页 / 共14页
货物进销管理系统Word下载.docx_第11页
第11页 / 共14页
货物进销管理系统Word下载.docx_第12页
第12页 / 共14页
货物进销管理系统Word下载.docx_第13页
第13页 / 共14页
货物进销管理系统Word下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

货物进销管理系统Word下载.docx

《货物进销管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《货物进销管理系统Word下载.docx(14页珍藏版)》请在冰点文库上搜索。

货物进销管理系统Word下载.docx

三、使用硬件、软件环境

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.源程序:

importjava.io.*;

/*保存Inventory.dat中的数据*/

classhuowu{

StringitemNumber;

intquantity;

Stringsupplier;

Stringdescription;

intbiaoji=1;

}

/*保存Transaction中的数据*/

classtrans{

Stringtype;

/*用来保存"

O"

交易数据的中间类,以满足quantity大的最后进行交易*/

classfuzhu{

publicclassInventory{

publicstaticvoidmain(String[]args){

huowu[]huo=newhuowu[100];

inthuolength=0;

trans[]tra=newtrans[100];

inttralength=0;

fuzhu[]fz=newfuzhu[100];

intfzlength=0;

try{

Strings=null;

/*读取Inventory.dat中的数据,保存到内存*/

BufferedReaderinvent=newBufferedReader(newFileReader("

Inventory.dat"

));

char[]str;

while((s=invent.readLine())!

=null){

str=s.toCharArray();

intt=0;

inti=0;

intx=0;

Strings1;

huo[huolength]=newhuowu();

while(i<

str.length){

for(x++;

i<

str.length&

&

str[i]!

='

\t'

;

i++){

}

s1=newString(str,t,i-t);

if(x==1)

huo[huolength].itemNumber=newString(s1);

if(x==2)

huo[huolength].quantity=Integer.parseInt(s1);

if(x==3)

huo[huolength].supplier=newString(s1);

if(x==4)

huo[huolength++].description=newString(s1);

i++;

t=i;

}

invent.close();

}

catch(Exceptione){

System.out.println("

error1"

);

/*读取Transaction.dat中的数据,保存到内存*/

try{

BufferedReadertr=newBufferedReader(newFileReader("

Transactions.dat"

while((s=tr.readLine())!

tra[tralength]=newtrans();

for(x++;

}

s1=newString(str,t,i-t);

if(x==1){

tra[tralength].type=newString(s1);

i++;

t=i;

else{

if(tra[tralength].type.equals("

)){

if(x==2)

tra[tralength].itemNumber=newString(s1);

if(x==3)

tra[tralength].quantity=Integer.parseInt(s1);

if(x==4)

tra[tralength].supplier=newString(s1);

i++;

t=i;

}

elseif(tra[tralength].type.equals("

R"

if(x==2)tra[tralength].itemNumber=newString(s1);

if(x==3)tra[tralength].quantity=Integer.parseInt(s1);

D"

A"

tra[tralength].quantity=0;

if(x==3)tra[tralength].supplier=newString(s1);

if(x==4)tra[tralength].description=newString(s1);

}

}

tralength++;

tr.close();

catch(Exceptionex){

System.out.println("

error2"

}

/*将Transaction.dat中的数据与Inventory.dat中的数据进行比较处理*/

//对A进行处理

for(inti=0;

tralength;

if(tra[i].type.equals("

intj=huolength++;

huo[j]=newhuowu();

huo[j].itemNumber=newString(tra[i].itemNumber);

huo[j].quantity=tra[i].quantity;

huo[j].supplier=newString(tra[i].supplier);

huo[j].description=newString(tra[i].description);

//对R进行处理

for(intt=0;

t<

huolength;

t++){

if(tra[i].itemNumber.equals(huo[t].itemNumber)){

huo[t].quantity+=tra[i].quantity;

}

//对O进行处理

//先将O型数据保存的fuzhu类

intxiangtong=-1;

if(tra[i].type.equals("

for(intj=0;

j<

fzlength;

j++){

if(tra[i].itemNumber.equals(fz[j].itemNumber)&

tra[i].supplier.equals(fz[j].supplier)){

fz[j].quantity+=tra[i].quantity;

xiangtong=1;

break;

if(xiangtong<

0){

fz[fzlength]=newfuzhu();

fz[fzlength].itemNumber=newString(tra[i].itemNumber);

fz[fzlength].quantity=tra[i].quantity;

fz[fzlength].supplier=newString(tra[i].supplier);

fzlength++;

}

}

//在fuzhu类中先按数量排序处理

for(intj=fzlength-1;

j>

i;

j--){

if(fz[j].quantity<

fz[j-1].quantity){

intq=0;

Stringit;

Stringsu;

q=fz[j].quantity;

fz[j].quantity=fz[j-1].quantity;

fz[j-1].quantity=q;

it=newString(fz[j].itemNumber);

fz[j].itemNumber=fz[j-1].itemNumber;

fz[j-1].itemNumber=it;

su=newString(fz[j].supplier);

fz[j].supplier=fz[j-1].supplier;

fz[j-1].supplier=su;

BufferedWritererror=newBufferedWriter(newFileWriter("

Errors.dat"

BufferedWritership=newBufferedWriter(newFileWriter("

Shipping.dat"

BufferedWriternewinv=newBufferedWriter(newFileWriter("

NewInventory.dat"

//将O型数据与Inventory.dat中的数据比较处理,并在处理过程中按要求记录error和shipping信息

for(inti=0;

for(intj=0;

if(fz[i].itemNumber.equals(huo[j].itemNumber)){

if(fz[i].quantity>

huo[j].quantity){

error.write(fz[i].supplier);

error.write("

"

error.write(fz[i].itemNumber);

error.write(String.valueOf(fz[i].quantity));

error.newLine();

else{

huo[j].quantity-=fz[i].quantity;

ship.write(fz[i].supplier);

ship.write("

ship.write(fz[i].itemNumber);

ship.write(String.valueOf(fz[i].quantity));

ship.newLine();

//对D型数据进行处理

if(tra[i].type.equals("

for(intj=0;

if(huo[j].itemNumber.equals(tra[i].itemNumber)){

if(huo[j].quantity>

0"

error.write(huo[j].itemNumber);

error.write(String.valueOf(huo[j].quantity));

}

else{

huo[j].biaoji=-1;

//将更新的Inventrory中的数据按item排序并更新到NewInventory.dat中

//排序

for(intk=huolength-1;

k>

j;

k--){

if(Integer.parseInt(huo[k].itemNumber)<

Integer.parseInt(huo[k-1].itemNumber)){

intq=0;

Stringit;

Stringsu;

Stringds;

q=huo[k].quantity;

huo[k].quantity=huo[k-1].quantity;

huo[k-1].quantity=q;

it=newString(huo[k].itemNumber);

huo[k].itemNumber=huo[k-1].itemNumber;

huo[k-1].itemNumber=it;

su=newString(huo[k].supplier);

huo[k].supplier=huo[k-1].supplier;

huo[k-1].supplier=su;

ds=newString(huo[k].description);

huo[k].description=huo[k-1].description;

huo[k-1].description=ds;

q=huo[k].biaoji;

huo[k].biaoji=huo[k-1].biaoji;

huo[k-1].biaoji=q;

}

//没被删除的写入NewInventory.dat中

if(huo[i].biaoji>

newinv.write(huo[i].itemNumber);

newinv.write("

newinv.write(String.valueOf(huo[i].quantity));

newinv.write(huo[i].supplier);

newinv.write(huo[i].description);

newinv.newLine();

error.close();

ship.close();

newinv.close();

}

catch(Exceptionex){

error3"

3.测试结果:

5、实验结论、分析、思考题与心得体会

通过本次实验,我有以下几方面的收获、认识和体会:

1)通过本次试验,我更进一步掌握了java的输入输出流和读写操作,打开文件、将文件内容保存至内存、通过程序处理数据、写入文件、关闭文件。

2)掌握了怎样将string型转换为int型和怎样将int型转换为string型。

3)也对异常处理有了更深的认识,出现异常时程序会报告是什么异常,这有时候可以帮助我知道程序错误出现在那里。

欢迎您的下载,

资料仅供参考!

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2