package PriceManager;
public class Price {
private String style;
private String weight;
private String price;
private String yarn;
private String proaddr;
private String ordyear;
private String remark;
public Price() {
super();
}
public Price(String style, String weight, String price, String yarn, String proaddr, String ordyear,
String remark) {
super();
this.style = style;
this.weight = weight;
this.price = price;
this.yarn = yarn;
this.proaddr = proaddr;
this.ordyear = ordyear;
this.remark = remark;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getYarn() {
return yarn;
}
public void setYarn(String yarn) {
this.yarn = yarn;
}
public String getProaddr() {
return proaddr;
}
public void setProaddr(String proaddr) {
this.proaddr = proaddr;
}
public String getOrdyear() {
return ordyear;
}
public void setOrdyear(String ordyear) {
this.ordyear = ordyear;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
package PriceManager;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class PriceManagerIO {
public static void main(String[] args) throws IOException{
Scanner sc=new Scanner(System.in);
String filename="TOHOPrice.txt";
BufferedReader br=new BufferedReader(new FileReader(filename));
ArrayList<Price> pr=new ArrayList<Price>();
Boolean flag=true;
ReadTxt(br,pr);
while(true){
if(flag==true){
String option=Menue(sc,pr);
switch(option){
case "1":
Add(sc,pr);
break;
case "2":
Show(pr);
break;
case "3":
Amend(sc,pr);
break;
case "4":
Delete(sc,pr);
break;
case "5":
System.out.println("谢谢使用!");
flag=false;
break;
default:
System.out.println("您的输入有误!");
break;
}
}else{
break;
}
}
WriteTxt(filename,pr);
}
public static boolean Confirm(Scanner sc){
boolean flag=true;
System.out.println("请再次确认是否需要删除:");
System.out.println("1.确认");
System.out.println("2.取消");
String option=sc.nextLine();
if(option.equals("2")){
flag=false;
}
return flag;
}
public static void Delete(Scanner sc, ArrayList<Price> pr) {
System.out.println("请输入要删除的款号:");
String inp=sc.nextLine();
for(int i=0;i<pr.size();i++){
Price p=pr.get(i);
String style=p.getStyle();
if(style.equals(inp)){
StringBuilder sb=new StringBuilder();
String weight=p.getWeight();
String price=p.getPrice();
String yarn=p.getYarn();
String proaddr=p.getProaddr();
String ordyear=p.getOrdyear();
String remark=p.getRemark();
System.out.print("款号\t\t重量\t\t价格\t\t纱线\t\t生产地\t\t报价年份\t\t备注\n");
sb.append(style).append("\t\t").append(weight).append("\t\t").append(price).append("\t\t").append(yarn).append("\t").append(proaddr).append("\t\t").append(ordyear).append("\t\t").append(remark);
String info=sb.toString();
System.out.println(info);
Boolean con=Confirm(sc);
if(con){
pr.remove(p);
System.out.println("款号"+inp+"删除成功!");
}
}
}
}
public static boolean Check(Boolean flag,ArrayList<Price> pr,int i,String newstyle){
for(int l=0;l<pr.size();l++){
Price p=pr.get(l);
String style=p.getStyle();
if(style.equals(newstyle)&l!=i){
flag=false;
}
}
return flag;
}
public static void Amend(Scanner sc, ArrayList<Price> pr) {
System.out.println("请输入要修改的款号:");
String inp=sc.nextLine();
for(int i=0;i<pr.size();i++){
Price p=pr.get(i);
String style=p.getStyle();
if(style.equals(inp)){
System.out.println("请输入要修改的项:");
System.out.println("1.款号");
System.out.println("2.重量");
System.out.println("3.价格");
System.out.println("4.纱线");
System.out.println("5.生产地");
System.out.println("6.报价年份");
System.out.println("7.备注");
System.out.println("8.取消修改");
String option=sc.nextLine();
switch(option){
case"1":
System.out.println("款号改为:");
String newstyle=sc.nextLine();
Boolean flag=true;
Check(flag,pr,i,newstyle);
if(flag){
p.setStyle(newstyle);
}
return;
case"2":
System.out.println("重量改为:");
String newweight=sc.nextLine();
p.setWeight(newweight);
return;
case"3":
System.out.println("价格改为:");
String newprice=sc.nextLine();
p.setPrice(newprice);
return;
case"4":
System.out.println("纱线改为:");
String newyarn=sc.nextLine();
p.setYarn(newyarn);
return;
case"5":
System.out.println("生产地改为:");
String newproaddr=sc.nextLine();
p.setProaddr(newproaddr);
return;
case"6":
System.out.println("报价年份地改为:");
String newordyear=sc.nextLine();
p.setOrdyear(newordyear);
return;
case"7":
System.out.println("备注改为:");
String newremark=sc.nextLine();
p.setRemark(newremark);
return;
case"8":
return;
default:
System.out.println("您的输入有误");
return;
}
}
}
}
private static void Show(ArrayList<Price> pr) {
if(pr.size()<=0){
System.out.println("还没有任何商品信息!");
return;
}
System.out.print("款号\t\t重量\t\t价格\t\t纱线\t\t生产地\t\t报价年份\t\t备注\n");
for(int i=0;i<pr.size();i++){
StringBuilder sb=new StringBuilder();
Price p=pr.get(i);
String style=p.getStyle();
String weight=p.getWeight();
String price=p.getPrice();
String yarn=p.getYarn();
String proaddr=p.getProaddr();
String ordyear=p.getOrdyear();
String remark=p.getRemark();
sb.append(style).append("\t\t").append(weight).append("\t\t").append(price).append("\t\t").append(yarn).append("\t").append(proaddr).append("\t\t").append(ordyear).append("\t\t").append(remark);
String info=sb.toString();
System.out.println(info);
}
}
public static void Add(Scanner sc, ArrayList<Price> pr) {
Boolean flag=true;
while(flag==true){
System.out.println("请输入款号:");
String style=sc.nextLine();
System.out.println("请输入重量:");
String weight=sc.nextLine();
System.out.println("请输入价格:");
String price=sc.nextLine();
System.out.println("请输入使用纱线:");
String yarn=sc.nextLine();
System.out.println("请输入生产地:");
String proaddr=sc.nextLine();
System.out.println("请输入报价年份:");
String ordyear=sc.nextLine();
System.out.println("请输入备注信息:");
String remark=sc.nextLine();
Price p=new Price();
p.setStyle(style);
p.setWeight(weight);
p.setYarn(yarn);
p.setProaddr(proaddr);
p.setOrdyear(ordyear);
p.setRemark(remark);
pr.add(p);
System.out.println("添加成功!");
System.out.println("按任意继续添加;");
System.out.println("按1取消;");
String option=sc.nextLine();
if(option.equals("1")){
flag=false;
}
}
}
public static String Menue(Scanner sc, ArrayList<Price> pr) {
System.out.println("--------------欢迎使用价格管理系统---------------");
System.out.println("1.添加商品");
System.out.println("2.查找商品");
System.out.println("3.修改商品");
System.out.println("4.删除商品");
System.out.println("5.退出");
System.out.println("请您输入选项:");
String option=sc.nextLine();
return option;
}
public static void WriteTxt(String filename, ArrayList<Price> pr) throws IOException{
BufferedWriter bw=new BufferedWriter(new FileWriter(filename));
for(int i=0;i<pr.size();i++){
StringBuilder sb=new StringBuilder();
Price p=pr.get(i);
String style=p.getStyle();
String weight=p.getWeight();
String price=p.getPrice();
String yarn=p.getYarn();
String proaddr=p.getProaddr();
String ordyear=p.getOrdyear();
String remark=p.getRemark();
sb.append(style).append(",").append(weight).append(",").append(price).append(",").append(yarn).append(",").append(proaddr).append(",").append(ordyear).append(",").append(remark);
String info=sb.toString();
bw.write(info);
bw.newLine();
bw.flush();
}
bw.close();
}
public static void ReadTxt(BufferedReader br, ArrayList<Price> pr) throws IOException {
String content;
while((content=br.readLine())!=null){
String[] info=content.split(",");
Price newpr=new Price();
newpr.setStyle(info[0]);
newpr.setWeight(info[1]);
newpr.setPrice(info[2]);
newpr.setYarn(info[3]);
newpr.setProaddr(info[4]);
newpr.setOrdyear(info[5]);
newpr.setRemark(info[6]);
pr.add(newpr);
}
}
}