ArrayList :货物库存管理(遍历)
2024-09-03 02:06:15
package com.oracle.demo01; import java.util.ArrayList;
import java.util.Scanner; public class Demo03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Goods g1 = new Goods();
Goods g2 = new Goods();
Goods g3 = new Goods();
g1.gid = 9001;
g1.name = "少林寺酥饼核桃";
g1.price = 120;
g2.gid = 9002;
g2.name = "尚康杂粮牡丹饼";
g2.price = 20;
g3.gid = 9003;
g3.name = "新疆原产哈密瓜";
g3.price = 7; ArrayList<Goods> arr = new ArrayList<Goods>();
arr.add(g1);
arr.add(g2);
arr.add(g3);
while (true) {
show();
int choose = sc.nextInt();
switch (choose) {
case 1:
getGoods(arr);
break;
case 2:
addGoods(arr);
break;
case 3:
updateGoods(arr);
break;
case 4:
dropGoods(arr);
break;
case 5:
return;
default:
System.out.println("您的输入有误,请重新输入!");
break;
}
}
} // 商品展示页面
public static void show() {
System.out.println("==================欢迎光临oracle超市==================");
System.out.println("1.货物清单");
System.out.println("2.添加货物");
System.out.println("3.修改货物");
System.out.println("4.删除货物");
System.out.println("5.退出");
System.out.println("请输入您要操作的功能序号:");
} // 查询所有商品
public static void getGoods(ArrayList<Goods> arr) {
System.out.println("=======================商品清单======================");
System.out.println("商品编号\t\t商品名称\t\t商品价格");
for (int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i).gid + "\t\t" + arr.get(i).name + "\t" + arr.get(i).price);
}
} // 添加商品
public static void addGoods(ArrayList<Goods> arr) {
System.out.println("请输入您要新增的商品编号:");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
System.out.println("请输入您要新增的商品名称:");
String name = sc.next();
System.out.println("请输入您要新增的商品价格:");
double price = sc.nextDouble();
Goods goods = new Goods();
goods.gid = id;
goods.name = name;
goods.price = price;
arr.add(goods);
} // 修改商品
public static void updateGoods(ArrayList<Goods> arr){
System.out.println("请输入您要修改的商品编号(输入0返回主菜单):");
for(int i=0;i<arr.size();i++){
System.out.println(arr.get(i).gid+" "+arr.get(i).name);
}
Scanner sc=new Scanner(System.in);
int uid=0;
aa:while (true) {
int id=sc.nextInt();
for(int i=0;i<arr.size();i++){
if(arr.get(i).gid==id){
uid=id;
break aa;
}else if(id==0){
return;
}
}
System.out.println("请输入正确的商品编号(输入0返回主菜单):");
} System.out.println("请修改商品名称:");
String name=sc.next();
System.out.println("请修改商品价格:");
double price=sc.nextDouble();
//遍历,按id找gid
for(int i=0;i<arr.size();i++){
if(arr.get(i).gid==uid){
arr.get(i).name=name;
arr.get(i).price=price;
}
}
//第二种修改的方法
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i).gid == uid) {
Goods goods=new Goods();
goods.gid=uid;
goods.name=name;
goods.price=price;
arr.set(i, goods);
}
}
}
//删除商品
private static void dropGoods(ArrayList<Goods> arr) {
System.out.println("请输入您要删除的商品编号(输入0返回主菜单):");
for(int i=0;i<arr.size();i++){
System.out.println(arr.get(i).gid+" "+arr.get(i).name);
}
Scanner sc=new Scanner(System.in);
int uid=0;
aa:while (true) {
int id=sc.nextInt();
for(int i=0;i<arr.size();i++){
if(arr.get(i).gid==id){
uid=id;
break aa;
}else if(id==0){
return;
}
}
System.out.println("请输入正确的商品编号(输入0返回主菜单):");
}
for(int i=0;i<arr.size();i++){
if(arr.get(i).gid==uid){
arr.remove(i);
}
}
}
}
最新文章
- 10.openssl x509
- arrays.xml文件中添加drawable数组的问题
- geometric median
- hdu ----3695 Computer Virus on Planet Pandora (ac自动机)
- droidbox官网
- android 中怎么保存当前按钮的状态?就是退出后重新进入还是上一次离开的状态
- CentOS 安装 gcc
- 写一些有关android的东西吧,那时候玩android时候的一些笔记
- VisualSVN Server仓库迁移到Linux(包含所有版本, 权限,用户信息)
- sql求和涉及到null值
- .net在arraylist用法
- PHP FTP 函数
- 20165328 实验四《Andriid应用开发》实验报告
- cmd命令往MySQL数据库提交数据
- 7.通用程序设计_EJ
- 深入理解 sudo 与 su 之间的区别【转】
- spring-mybatis-data-common程序级分表操作实例
- Linux:简单的并发服务器实现
- adb连接不上手机的解决方案
- September 16th 2017 Week 37th Saturday