package java2;import java.util.*;import java.io.*;public class Shipinglianxi?{ public static void main(String[]args)throws Exception//拋出異常 { Spg1 shipin=new Spg1(); //對(duì)象shipin的創(chuàng)建,aa對(duì)象(構(gòu)造方法Spg1)也一并創(chuàng)建 BufferedReader sr=new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.println("請(qǐng)按提示選擇以下功能"); System.out.println("添加食品請(qǐng)按1"); System.out.println("查找食品信息請(qǐng)按2"); System.out.println("修改食品價(jià)格請(qǐng)按3"); System.out.println("刪除食品請(qǐng)按4"); System.out.println("退出請(qǐng)按0"); String srt=sr.readLine();//readLine讀取一行 if(srt.equals("1")) { System.out.println("請(qǐng)輸入食品編號(hào)"); String bh=sr.readLine();//sr.next() System.out.println("請(qǐng)輸入食品名稱"); String mc=sr.readLine(); System.out.println("請(qǐng)輸入食品價(jià)格"); double jg=Double.parseDouble(sr.readLine()); //Float.parseFloat強(qiáng)行將sr.readLine()字符串格式轉(zhuǎn)換為double形式 sp sp=new sp(bh,mc,jg); shipin.addsp(sp); //添加對(duì)象sp } else if(srt.equals("2"))//查詢食品信息 { System.out.println("請(qǐng)輸入食品編號(hào)"); String bh=sr.readLine(); shipin.spxx(bh); ? ?//調(diào)用spxx方法 } else if(srt.equals("3")) { System.out.println("請(qǐng)輸入食品編號(hào)"); String bh=sr.readLine(); System.out.println("請(qǐng)輸入新的價(jià)格"); double jg=Double.parseDouble(sr.readLine()); shipin.spjg(bh,jg);//報(bào)錯(cuò):The method spjg(String, double) is undefined for the type Spg1求大神指點(diǎn)哪里錯(cuò)誤? } else if(srt.equals("4"))//刪除食品 { System.out.println("請(qǐng)輸入食品編號(hào)"); String bh=sr.readLine(); shipin.delsp(bh); } else if(srt.equals("0")) { System.out.println("感謝您的使用,再見(jiàn)"); 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規(guī)定取值范圍有參數(shù) this.mingcheng=mingcheng; } public void setJiage(double jiage) //封裝變量使用set和get { this.jiage=jiage; } public String getBianhao() //使用get,調(diào)用時(shí)取出值 { return bianhao; } public String getMingcheng() { return mingcheng; } public double getJiage() { return jiage; }}class Spg1{ private ArrayList aa=null; Spg1() { aa=new ArrayList();//創(chuàng)建aa對(duì)象 //使用集合類來(lái)統(tǒng)計(jì)食品名稱,編號(hào)等對(duì)象 //所以要使用構(gòu)造方法開(kāi)始時(shí)就初始化所有對(duì)象 } public void addsp(sp sp)//增加食品 { aa.add(sp); System.out.println("食品添加成功"); } public void spxx(String bh)//食品查詢系統(tǒng) { 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("食品編號(hào):"+bh); System.out.println("食品名稱:"+sp.getMingcheng()); System.out.println("食品價(jià)格:"+sp.getJiage()); break; } } if(i==aa.size())//上面for循環(huán)退出時(shí)i的值一定小于aa.size(), //如果不是那么一定沒(méi)有該食品 { System.out.println("對(duì)不起,查無(wú)此食品"); } } private void spja(String bh,double jg)//修改食品價(jià)格 { int i; for(i=0;i<aa.size();i++) { sp sp=(sp)aa.get(i);//遍歷對(duì)象 if(sp.getBianhao().equals(bh)) { sp.setJiage(jg);//重新取值 System.out.println("價(jià)格修改成功"); break; } } if(i==aa.size()) { System.out.println("對(duì)不起,查無(wú)此食品"); } } public void delsp(String bh)//食品刪除系統(tǒng) { int i; if(aa.size()==0) { System.out.println("沒(méi)有食品記錄"); } for(i=0;i<aa.size();i++) { sp sp=(sp)aa.get(i);//遍歷對(duì)象 if(sp.getBianhao().equals(bh)) { aa.remove(i); System.out.println("移除成功"); break; } } if(i==aa.size()&&aa.size()!=0)//保證對(duì)象不能為空aa.size()!=0 { System.out.println("對(duì)不起,查無(wú)此食品"); } }}
方法spjg未定義的類型?
黃森h(huán)uang
2016-09-19 15:17:30