java进阶(3)食品库存管理

来源:互联网 发布:昆士兰科技大学 知乎 编辑:程序博客网 时间:2024/04/30 04:11
import java.io.*;import java.util.*;public class Test2{      public static void main(String[]args) throws Exception{      spgl shipin=new spgl();   //调用下面1.的ArrayList()类,就让ArrayList()进来了       BufferedReader sr=new BufferedReader(  new InputStreamReader(System.in));       //键盘输入的意思,InputStreamReader是输入流      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 str=sr.readLine();/*readLine()是读取一行的意思 * 只能附在字符串中进行接收,因为不能确定输入的是数字还是字符 */if(str.equals("1")){System.out.println("请输入食 品编号:");String bh=sr.readLine();System.out.println("请输入食 品名称:");String mc=sr.readLine();System.out.println("请输入食品价格:");float jg=Float.parseFloat(sr.readLine());/* * 因为价格不是字符串,要用parseFloat函数强转为Float * */Sp sp=new Sp(bh,mc,jg);shipin.addsp(sp);/* * 先把三个对象放到sp对象里,再把sp放到ArrayList()里 * addsp是添加食品的方法 * */}else if(str.equals("2")) {System.out.println("请输入食品编号!");String bh=sr.readLine();shipin.spxx(bh); }else if(str.equals("3")){System.out.println("请输入食品编号:");    String bh=sr.readLine();    System.out.println("请输入新的价格:");    float jg=Float.parseFloat(sr.readLine());    shipin.spjg(bh,jg);//调用食品价格}else if(str.equals("4")){System.out.println("请输入食品编号:");String bh=sr.readLine();shipin.delsp(bh);}else if(str.equals("0")){   System.out.println("感谢您的使用,再见。");   System.exit(0);//有两种退出,0是正常退出,-1是安全退出,但会默认异常}else {System.out.println("输入有误!");}}}}class spgl       //1.食品管理类,一个ArrayList的引用,把这个引用作为一个私有变量 {    private ArrayList aa=null;      spgl()    //用构造方法把ArrayList new一个对象      {     aa=new ArrayList();//1      }      /*       *这种思想很难想到        * */      public void  addsp(Sp sp)      {    aa.add(sp);//添加食品,直接添加就可以了    System.out.println("添加新食品成功!");      }   public void spxx(String bh)//食品信息的查询     {     int i;     for(i=0;i<aa.size();i++){     Sp sp=(Sp)aa.get(i);//获得编号     if(sp.getBianhao().equals(bh))     {     System.out.println("该食品的信息为:");     System.out.println("食品编号为:"+bh);     System.out.println("食品名称:"+sp.getMingcheng());     System.out.println("食品价格:"+sp.getJiage());     break;     }     }     if(i==aa.size()){    System.out.println("对不起,无此食品!");       }     }    public  void spjg(String bh,float jg)//食品价格的修格,要传进两个参数       {    int i;    for(i=0;i<aa.size();i++)    {      Sp sp=(Sp)aa.get(i);      if(sp.getBianhao().equals(bh)){      sp.setJiage(jg);   //一旦找到了,就用set把它重新放置就可以      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))){ System.out.println("对不起,没有该食品!"); }   }  } class Sp{   //是食品类    private String bianhao;   //三个食品的成员变量            编号    private String mingcheng;                 //名称     private float jiage;                      //价格    Sp(String bianhao,String mingcheng,float jiage)
                                               //构造方法,初始化三个变是不是    {    this.mingcheng=mingcheng;    this.bianhao=bianhao;    this.jiage=jiage;    }    public String getBianhao(){    
                                 //六个封装方法,将三个变量封装 成set和get存入和取出    return bianhao;    }    public void setBianhao(String bianhao){    this.bianhao=bianhao;    }    public String getMingcheng(){    return mingcheng;    }    public float getJiage(){    return jiage;    }    public void setJiage(float jiage){    this.jiage=jiage;    } }

0 0
原创粉丝点击