集合类的ArrayList的应用实例
来源:互联网 发布:excel数据分析功能 编辑:程序博客网 时间:2024/05/17 06:00
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) { 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("对不起,没有该食品"); } } }
阅读全文
0 0
- 集合类的ArrayList的应用实例
- ArrayList 集合的应用
- 集合类的学习--ArrayList
- 集合类ArrayList的使用
- java集合之ArrayList方法的使用实例
- 集合-ArrayList的用法
- Arraylist集合的使用
- Java集合01----ArrayList的遍历方式及应用
- 黑马程序员 集合框架的应用常识ArrayList HashSet
- 学生日志管理系统(ArrayList集合的应用)
- 第二十一讲 集合概述、ArrayList和LinkedList的应用
- 集合类的学习--ArrayList vs LinkedList
- Java集合ArrayList类的简单学习
- 集合类ArrayList的构造器
- java ArrayList集合类的书写
- Java集合ArrayList实现类的总结
- 我的笔记 ArrayList 集合类
- java集合类(三)Arraylist实例
- 安卓智能地图开发与实施二十:栅格图层展示
- percpu_init_late
- 浮点数计算
- MATLAB入门0
- linux系统基本操作——系统虚拟机管理
- 集合类的ArrayList的应用实例
- python_xml文件的解析与构建
- Linux用户具备sudo权限和不要启动图形界面
- Ubuntu下安装配置minicom
- cocos2dx3.3 C++和Android的网络连接状态
- 10.25(周三)
- Matlab生成C代码
- 从零开始···mybatis配置扫描补充
- hadoop-2.5.1-src.tar文件分享百度云