AddNew.java
package goods;
import java.io.*;
import java.util.*;
class AddNew {
public static void addNew(){//新货录入
int i=0;
Goods newgoods;
ArrayList
arrayList = new ArrayList ();
arrayList=ToArrayList.toArrayList();//传出文件内容,以便判断ID号是否存在
System.out.print("请输入id:");
//键盘输入一行字符
InputStreamReader reader1 = new InputStreamReader(System.in);
//从缓冲区读取(操作流)
BufferedReader br1 = new BufferedReader(reader1);
String id = "";
String name = "";
double price=0;
int number=0;
int flag=1;
try {
id = br1.readLine();//输入一行字符
if(arrayList.size()!=0){//文件中有记录
do{
if(arrayList.get(i).getid().equals(id)){//判断文件中是否已存在此id
System.out.print("此ID号已存在!请重新输入。");
id = br1.readLine();//输入一行字符
i=0;
}
else{
i++;
}
}while(i }
System.out.println("请输入名称:");
InputStreamReader reader2 = new InputStreamReader(System.in);
BufferedReader br2 = new BufferedReader(reader2);
name = br2.readLine();//输入一行字符
}catch (Exception e1){}
flag=1;
while(flag==1){
try {
System.out.println("请输入单价(0~1000):");
Scanner sc=new Scanner(System.in);
price=sc.nextDouble();
while(price>1000||price<=0){
System.out.println("数据错误!请输入0~1000的数据。");
price=sc.nextDouble();
}
flag=0;
} catch (Exception e) {
System.out.println("数据错误!请输入数字(0~1000)。");
flag=1;
}
}
flag=1;
while(flag==1){
try {
System.out.println("请输入数量(0~10000):");
Scanner sc=new Scanner(System.in);
number=sc.nextInt();
while(number>65535||number<=0){
System.out.println("数据错误!请输入0~65535的数据。");
number=sc.nextInt();
}
flag=0;
} catch (RuntimeException e1) {
System.out.println("数据错误!请输入数字(0~10000)。");
flag=1;
}
}
newgoods=new Goods(id,name,price,number);//将输入的数据实例化成对象
//写入文件
File file=new File("d:\\program.txt");
try {
FileWriter out=new FileWriter(file,true);
String content=newgoods.getid()+"\t"+newgoods.getname()+"\t"+newgoods.getprice()+"\t"+newgoods.getnumber();
out.write(content);
System.out.println("已写入文件。");
//写入回车换行
out.write("\r");
out.write("\n");
out.close(); //关闭文件流,否则文件中没内容
}
catch(Exception e){
System.out.println("写入文件时出错");
}
System.out.println("是否继续此操作?继续Y,结束N");
Scanner
sca = new Scanner(System.in);
String yn = sca.nextLine();
if(yn.equals("Y")||yn.equals("y")){
addNew();//调用新货录入方法,继续录入
}
else{
Menu.decide();//返回菜单界面
}
}
}
Ins.java
package goods;
import java.io.*;
import java.util.*;
class Ins {
public static void ins(){//进货
int i=0;
ArrayList arrayList=new ArrayList ();
//传递数组
arrayList=ToArrayList.toArrayList();
System.out.print("请输入id:");
//键盘输入一行字符
InputStreamReader inreader = new InputStreamReader(System.in);
//从缓冲区读取(操作流)
BufferedReader inbr = new BufferedReader(inreader);
String id = "";
try{
id = inbr.readLine();//输入一行字符
while(id!=null){
//判断文件中是否已存在
if(arrayList.get(i).getid()!=null&;&;arrayList.get(i).getid().equals(id)){
break;
}
else{
i++;
if(i==arrayList.size()){
System.out.println("文件中不存在此货品,请重新输入。");
id = inbr.readLine();
i=0;
}
}
}
}catch(IOException e){}
int flag=1;
while(flag==1){
try {
System.out.println("进货数量:");
Scanner sc=new Scanner(System.in);
int number0=sc.nextInt();
while(number0>65535||number0<=0){//判断进货数量值在有效范围内
System.out.println("数据错误!请输入0~65535的数据。");
number0=sc.nextInt();
}
for(i=0;i if(arrayList.get(i).getid().equals(id)){
arrayList.get(i).setnumber(arrayList.get(i).getnumber()+number0);
}
}
flag=0;
} catch (RuntimeException e1) {
System.out.println("数据错误!请输入数字(0~65535)。");
flag=1;
}
}
ToFile.toFile(arrayList); //写入文件
System.out.println("是否继续此操作?继续Y,结束N");
Scanner sca = new Scanner(System.in);
String yn = sca.nextLine();
if(yn.equals("Y")||yn.equals("y")){
ins();//调用进货方法继续进货操作
}
else{
Menu.decide();//返回菜单界面
}
}
}
Outs.java
package goods;
import java.io.*;
import java.util.*;
class Outs {
public static void outs(){//出货
int i=0;
ArrayList arrayList=new ArrayList ();
arrayList=ToArrayList.toArrayList();
System.out.print("请输入id:");
//键盘输入一行字符
InputStreamReader outreader = new InputStreamReader(System.in);
//从缓冲区读取(操作流)
BufferedReader outbr = new BufferedReader(outreader);
String id = "";
try{
id = outbr.readLine();//输入一行字符
while(id!=null){
if(arrayList.get(i).getid()!=null&;&;arrayList.get(i).getid().equals(id)){//判断文件中是否已存
在
break;
}
else{
i++;
if(i==arrayList.size()){
System.out.println("文件中不存在此货品,请重新输入。");
id = outbr.readLine();
i=0;
}
}
}
}catch(IOException e){}
int flag=1;
while(flag==1){
try {
System.out.print("出货数量:");
Scanner sc=new Scanner(System.in);
int number0=sc.nextInt();
while(number0>65535||number0<=0){//判断出货数量值在有效范围内
System.out.println("数据错误!请输入0~65535的数据。");
number0=sc.nextInt();
}
while(arrayList.get(i).getnumber() System.out.println("数据错误!出货数据超过库存!请输入0~"+arrayList.get(i).getnumber()+"的数据。");
number0=sc.nextInt();
}
for(i=0;i if(arrayList.get(i).getid().equals(id)){
arrayList.get(i).setnumber(arrayList.get(i).getnumber()-number0);
}
}
flag=0;
} catch (RuntimeException e) {
System.out.println("数据错误!请输入数字(0~65535)。");
flag=1;
}
}
ToFile.toFile(arrayList);//写入文件
System.out.println("是否继续此操作?继续Y,结束N");
Scanner sca = n