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("对不起,查无此食品"); } }}
添加回答
举报
0/150
提交
取消