为了账号安全,请及时绑定邮箱和手机立即绑定

方法spjg未定义的类型?

方法spjg未定义的类型?

黄森huang 2016-09-19 15:17:30
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("对不起,查无此食品"); } }}
查看完整描述

2 回答

?
黄森huang

TA贡献7条经验 获得超1个赞

程序使用方法错误:Spg1类中的更改食品价格方法是spja但调用的是spjg

查看完整回答
1 反对 回复 2016-09-19
?
Panda小潘

TA贡献2条经验 获得超0个赞

没有声明spjg这个方法,是不是写错字了...

查看完整回答
反对 回复 2016-09-19
  • 2 回答
  • 0 关注
  • 1552 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信