集合类的ArrayList的应用实例
2017-10-25 22:16
316 查看
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Hello { /** * @param args the command line arguments */ public static void main(String[] args) throws Exception//出错抛给jvm { foodManage food =new foodManage();//启用食品管理类的无参构造方法 //键盘输入的作为输入流输入,通过BufferedReader导入进来 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 String str =sr.readLine(); if (str.equals("1")) //添加食品功能 { System.out.println("请输入食品编号:"); String number=sr.readLine();//读取数值函数,系统默认.编号 System.out.println("请输入食品名称:"); String name=sr.readLine(); System.out.println("请输入食品价格:"); //强行转入float类型 float price =Float.parseFloat(sr.readLine()); //放入到对象 Food sp=new Food(number,name,price); food.addFood(sp); //也可以直接利用ArrayList集合的功能添加元素,或者重写类中的方法 } else if (str.equals("2")) //查找食品信息 { System.out.println("请输入食品编号:"); String number =sr.readLine(); food.foodSesrch(number); } else if (str.equals("3")) //修改食品价格 { System.out.println("请输入食品编号:"); String number =sr.readLine(); System.out.println("请输入新的价格:"); float price=Float.parseFloat(sr.readLine()); food.alterFoodPrice(number, price); } else if (str.equals("4")) //删除食品 { System.out.println("请输入食品编号:"); //相当于输出 String number=sr.readLine(); food.removeFood(number); } else if (str.equals("0")) { System.out.println("感谢你的使用,再见!"); System.exit(0); } else { System.out.println("输入有误!"); } } } } class Food { private String number; private String name; private float price; public Food(String number, String name, float price) { this.number = number; this.name = name; this.price = price; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getName() { return name; } public void setName(String name) { 9eb5 this.name = name; } public float getPrice() { return price; } public void setPrice(float price) { this.price = price; } } class foodManage //食品管理 { private ArrayList aa=null; foodManage() { aa=new ArrayList(); //构造方法,new集合类的对象 } public void addFood(Food food) { aa.add(food); System.out.println("添加新产品成功!");//功能实现 } public void foodSesrch(String number) { int i; for (i=0;i<aa.size();i++) { Food foodS=(Food)aa.get(i); if (foodS.getNumber().equals(number)) { System.out.println("该食品信息为:"); System.out.println("食品编号:"+number); System.out.println("食品名称:"+foodS.getName()); System.out.println("食品价格:"+foodS.getPrice()); break; //不在继续查询,此时保存了当时退出i的值,且i<aa.size() } } if (i==aa.size()) //大于等于时则没有找到食品 { System.out.println("对不起,没有此产品!"); } } public void alterFoodPrice(String number,float price) { int i; for (i=0;i<aa.size();i++) { Food sp=(Food)aa.get(i); if (sp.getNumber().equals(number)) { sp.setPrice(price); System.out.println("修改食品价格成功!"); break; } } if (i==aa.size()) { System.out.println("对不起,没有找到相应的食品,修改价格失败!"); } } public void removeFood(String number) { int i; if (aa.size()==0) { System.out.println("对不起,仓库中已没有任何食品"); } for (i=0;i<aa.size();i++) { Food sp=(Food)aa.get(i);//获得食品的编号 if (sp.getNumber().equals(number)) //如果输入编号与i(检索值)一致 { aa.remove(i);//删除第i个编号数据库中的数据 System.out.println("删除食品成功!"); break; } } //没有遍历到或者数据库中没有这个食品 if (( i==aa.size() )&& (aa.size()!=0) ) { System.out.println("对不起,没有该食品"); } } }
相关文章推荐
- 黑马程序员 集合框架的应用常识ArrayList HashSet
- java集合之ArrayList方法的使用实例
- VB.Net中应用ArrayList实例
- ArrayList 集合框架实例(数据去重)
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- JSON实例应用集合
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中ArrayList应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- csla.net 框架的实例应用二(集合多条记录的演示)
- Java集合——Stack和Vector应用实例
- Java集合删除元素ArrayList实例详解
- 集合框架五:ArrayList应用——去除ArrayList中的重复元素
- Java集合ArrayList的应用
- 集合嵌套之ArrayList嵌套ArrayList实例
- csla.net 框架的实例应用三(集合多条记录的演示)续
- 小小的总结一下java异常处理和List、ArrayList、Vector、Set、HashSet、TreeSet集合的简单应用
- JAVA集合——ArrayList 使用实例