需求:
- 增
- 查:精准查询(使用货号进行精准查询、使用数量进行查询、使用类型进行查询)、模糊查询(使用名称中的某个字进行查询)
- 改
package com.wyh.practice;
public class Good {
int gno;
String gname;
String gtype;
int gnum;
public Good() {
}
public Good(int gno, String gname, String gtype, int gnum) {
this.gno = gno;
this.gname = gname;
this.gtype = gtype;
this.gnum = gnum;
}
public int getGno() {
return gno;
}
public void setGno(int gno) {
this.gno = gno;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public String getGtype() {
return gtype;
}
public void setGtype(String gtype) {
this.gtype = gtype;
}
public int getGnum() {
return gnum;
}
public void setGnum(int gnum) {
this.gnum = gnum;
}
}
package com.wyh.practice;
import java.util.Scanner;
public class WareHouseSystem {
public static void main(String[] args) {
Good[] goods = new Good[2];
Scanner scanner = new Scanner(System.in);
System.out.println("-----------欢迎使用仓库管理系统(数组、类实现)-------------");
while (true){
System.out.println("1.添加货品");
System.out.println("2.查询单个货品信息");
System.out.println("3.查询全部货品信息");
System.out.println("4.查询具有某一特性货品信息");
System.out.println("5.修改货品信息");
System.out.println("6.退出系统");
int chose=scanner.nextInt();
switch (chose){
case 1:
addGoods(scanner,goods);
break;
case 2:
findGoodByGno(scanner , goods);
break;
case 3:
findAllGoods(goods);
break;
case 4:
findGoodsBy(scanner,goods);
break;
case 5:
updateGood(scanner,goods);
break;
case 6:
System.out.println("您已退出系统!");
return;
default:
System.out.println("非法字符");
break;
}
}
}
private static void findGoodsBy(Scanner scanner, Good[] goods) {
int subscript=-1;//下标
System.out.println("选择特性: 1、货品名称(可以是某个字) 2、货品类型 3、货品数量");
int characteristic=scanner.nextInt();
switch (characteristic){
case 1:
findGoodsByGname(scanner,goods);
break;
case 2:
findGoodsByGtype(scanner,goods);
break;
case 3:
findGoodsByGnum(scanner,goods);
break;
}
}
private static void findGoodsByGtype(Scanner scanner, Good[] goods) {
System.out.println("输入商品类型:");
String type=scanner.next();
int subscript=-1;
for (int i=0;i<goods.length;i++){
if(type.equals(goods[i].getGtype())){
subscript=i;
System.out.println("货号:"+goods[i].getGno()+" 货名:"+goods[i].getGname()+" 类型:"+goods[i].getGtype()+" 数量:"+goods[i].getGnum());
}
}
if(subscript==-1){
System.out.println("未找到该类型的商品");
}
}
private static void findGoodsByGnum(Scanner scanner, Good[] goods) {
System.out.println("输入商品数量:");
int subscript=-1;
int num = scanner.nextInt();
for (int i=0;i<goods.length;i++){
if(num==goods[i].getGnum()){
subscript=i;
System.out.println("货号:"+goods[i].getGno()+" 货名:"+goods[i].getGname()+" 类型:"+goods[i].getGtype()+" 数量:"+goods[i].getGnum());
}
}
if(subscript==-1){
System.out.println("未找到该数量的商品");
}
}
private static void findGoodsByGname(Scanner scanner, Good[] goods) {
System.out.println("输入商品名称中所含字:");
String name=scanner.next();
int subscript=-1;
for (int i=0;i<goods.length;i++){
if(goods[i].getGname().contains(name)){
subscript=i;
System.out.println("货号:"+goods[i].getGno()+" 货名:"+goods[i].getGname()+" 类型:"+goods[i].getGtype()+" 数量:"+goods[i].getGnum());
}
}
if(subscript==-1){
System.out.println("未找到含有该字符的商品");
}
}
private static void updateGood(Scanner scanner, Good[] goods) {
int i=findGoodByGno(scanner,goods);
if(i>=0){
System.out.println("输入修改后的货品名称:");
String name=scanner.next();
System.out.println("输入修改后的货品类型:");
String type=scanner.next();
System.out.println("输入修改后的货品数量:");
int num=scanner.nextInt();
goods[i].setGname(name);
goods[i].setGtype(type);
goods[i].setGnum(num);
}else{
return;
}
}
private static int findGoodByGno(Scanner scanner, Good[] goods) {
System.out.println("输入货号:");
int subscript=scanner.nextInt();
boolean flag=true;
for(int i=0;i<goods.length;i++){
if(subscript==goods[i].getGno()){
System.out.println("货号:"+goods[i].getGno()+" 名称:"+goods[i].getGname()+" 类型:"+goods[i].getGtype()+" 数量:"+goods[i].getGnum());
return i;
}
}
if (flag){
System.out.println("不存在该货号的货品");
}
return -1;
}
private static void findAllGoods(Good[] goods) {
System.out.print("货号 ");
System.out.print("名称 ");
System.out.print("类型 ");
System.out.println("数量 ");
for (int i = 0;i<goods.length;i++){
System.out.println(" "+goods[i].getGno()+" "+ " "+ goods[i].getGname() + " "+" " + goods[i].getGtype() + " "+" "+goods[i].getGnum());
}
}
private static void addGoods(Scanner scanner, Good[] goods) {
for (int i = 0;i<goods.length;i++){
System.out.println("请输入第"+(i+1)+"个货品货号");
int gno=scanner.nextInt();
System.out.println("请输入第"+(i+1)+"个货品名称");
String gname=scanner.next();
System.out.println("请输入第"+(i+1)+"个货品类型");
String gtype=scanner.next();
System.out.println("请输入第"+(i+1)+"个货品数量");
int gnum=scanner.nextInt();
goods[i]=new Good(gno,gname,gtype,gnum);
}
System.out.println("添加成功");
}
}