package java2;
import java.util.*;
import java.io.*;
public class Shipinglianxi
{
public static void main(String[]args)throws Exception//抛出异常
{
Spg1 shipin=new Spg1();
//对象shipin的创建,aa对象(构造方法Spg1)也一并创建
BufferedReader sr=new BufferedReader(new InputStreamReader(System.in));
while (true)
{
System.out.println("请按提示选择以下功能");
System.out.println("添加食品请按1");
System.out.println("查找食品信息请按2");
System.out.println("修改食品价格请按3");
System.out.println("删除食品请按4");
System.out.println("退出请按0");
String srt=sr.readLine();//readLine读取一行
if(srt.equals("1"))
{
System.out.println("请输入食品编号");
String bh=sr.readLine();//sr.next()
System.out.println("请输入食品名称");
String mc=sr.readLine();
System.out.println("请输入食品价格");
double jg=Double.parseDouble(sr.readLine());
//Float.parseFloat强行将sr.readLine()字符串格式转换为double形式
sp sp=new sp(bh,mc,jg);
shipin.addsp(sp);
//添加对象sp
}
else if(srt.equals("2"))//查询食品信息
{
System.out.println("请输入食品编号");
String bh=sr.readLine();
shipin.spxx(bh); //调用spxx方法
}
else if(srt.equals("3"))
{
System.out.println("请输入食品编号");
String bh=sr.readLine();
System.out.println("请输入新的价格");
double jg=Double.parseDouble(sr.readLine());
shipin.spjg(bh,jg);//报错:The method spjg(String, double) is undefined for the type Spg1求大神指点哪里错误?
}
else if(srt.equals("4"))//删除食品
{
System.out.println("请输入食品编号");
String bh=sr.readLine();
shipin.delsp(bh);
}
else if(srt.equals("0"))
{
System.out.println("感谢您的使用,再见");
System.exit(0);
}
else
{
System.out.println("输入有误");
}
}
}
}
class sp
{
private String bianhao;
private String mingcheng;
private double jiage;
sp(String bianhao,String mingcheng,double jiage)//初始化成员变量
{
this.bianhao=bianhao;
this.mingcheng=mingcheng;
this.jiage=jiage;
}
public void setBianhao(String bianhao)
{ //封装变量使用set和get
this.bianhao=bianhao;
}
public void setMingcheng(String mingcheng)//封装变量使用set和get
{ //使用set规定取值范围有参数
this.mingcheng=mingcheng;
}
public void setJiage(double jiage) //封装变量使用set和get
{
this.jiage=jiage;
}
public String getBianhao() //使用get,调用时取出值
{
return bianhao;
}
public String getMingcheng()
{
return mingcheng;
}
public double getJiage()
{
return jiage;
}
}
class Spg1
{
private ArrayList aa=null;
Spg1()
{
aa=new ArrayList();//创建aa对象
//使用集合类来统计食品名称,编号等对象
//所以要使用构造方法开始时就初始化所有对象
}
public void addsp(sp sp)//增加食品
{
aa.add(sp);
System.out.println("食品添加成功");
}
public void spxx(String bh)//食品查询系统
{
int i;//要将i值定义在for外面
for( i=0;i<aa.size();i++)
{
sp sp=(sp)aa.get(i);
if(sp.getBianhao().equals(bh))
//sp.getBianhao()方法
{
System.out.println("该食品的信息为:");
System.out.println("食品编号:"+bh);
System.out.println("食品名称:"+sp.getMingcheng());
System.out.println("食品价格:"+sp.getJiage());
break;
}
}
if(i==aa.size())//上面for循环退出时i的值一定小于aa.size(),
//如果不是那么一定没有该食品
{
System.out.println("对不起,查无此食品");
}
}
private void spja(String bh,double jg)//修改食品价格
{
int i;
for(i=0;i<aa.size();i++)
{
sp sp=(sp)aa.get(i);//遍历对象
if(sp.getBianhao().equals(bh))
{
sp.setJiage(jg);//重新取值
System.out.println("价格修改成功");
break;
}
}
if(i==aa.size())
{
System.out.println("对不起,查无此食品");
}
}
public void delsp(String bh)//食品删除系统
{
int i;
if(aa.size()==0)
{
System.out.println("没有食品记录");
}
for(i=0;i<aa.size();i++)
{
sp sp=(sp)aa.get(i);//遍历对象
if(sp.getBianhao().equals(bh))
{
aa.remove(i);
System.out.println("移除成功");
break;
}
}
if(i==aa.size()&&aa.size()!=0)//保证对象不能为空aa.size()!=0
{
System.out.println("对不起,查无此食品");
}
}
}
黄森huang
Panda小潘
相关分类