假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列。
package test01; import java.util.Scanner; public class Inform_Query { public static void main(String[] args) { // 如果写了Scanner之前没引用这个接口,会报错; //然后就可以依据提示来补全了。 Scanner input=new Scanner(System.in); String[] products= {"洗发水","沐浴露","纸巾","牙刷","水杯"}; int [][] amounts= {{50,80,90},{40,80,78},{50,45,789},{100,680,90},{50,80,90},{898,85,90}}; System.out.println("***********库存系统***********"); System.out.println("请输入要查询库存信息的商品名称:"); // input.next()接收用户控制台输入的字符串 String name=input.next(); for(int i=0;i<products.length;i++) { if(products[i].equals(name)) { System.out.println("商品【"+products[i]+"】的库存信息如下:"); System.out.println("入库\t出库\t库存"); for(int j=0;j<3;j++){ System.out.print(amounts[i][j]+"\t"); } break; } } System.out.print("\n********* 查询库存不足 100 的商品 *********"); System.out.println("\n1.入库\t2.出库\t3.库存"); System.out.println("请输入序号:"); int no =input.nextInt(); int[] temp=new int[5]; System.out.println("该类别下数量较少的商品有:"); for(int i=0;i<5;i++) { temp[i]=amounts[i][no-1]; if(amounts[i][no-1]<60) { System.out.print(products[i]+"\t"); } } //使用冒泡排序,将商品的库存量从低到高的顺序排列 for(int i=1;i<temp.length;i++) { for(int j=0;j<temp.length-i;j++) { if(temp[j]>temp[j+1]) { int x=temp[j]; temp[j]=temp[j+1]; temp[j+1]=x; } } } System.out.println("\n该类别的商品库存信息从低到高的排列如下:"); for(int i=0;i<temp.length;i++) { System.out.print(temp[i]+"\t"); } } }
运行结果:
***********库存系统*********** 请输入要查询库存信息的商品名称: 牙刷 商品【牙刷】的库存信息如下: 入库 出库 库存 100 685 90 ********* 查询库存不足 100 的商品 ********* 1.入库 2.出库 3.库存 请输入序号: 1 该类别下数量较少的商品有: 洗发水 沐浴露 纸巾 该类别的商品库存信息从低到高的排列如下: 40 50 50 100 898