JAVA价格管理器

本文详细介绍了使用JAVA语言开发价格管理器的过程,涵盖了需求分析、系统设计、关键功能实现及性能优化等方面。通过实例展示如何利用JAVA特性高效管理价格数据,确保系统稳定性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
		// TODO Auto-generated constructor stub
	}

	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.FileNotFoundException;
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);
				//String info=sb.toString();
				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();
		//boolean fl=true;
		//while(fl==true){
			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);	
							}	
							//break;
							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) {
		//System.out.println(pr.size());
		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);	
			//System.out.println("读取txt成功!");
		}
		
	}

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值