下面的文章是综合一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能,一起来看看实例吧。
假设在仓库系统中,每件商品都有3个库存信息,分别是入库量、出库量和当前库存量。
定义一个一维数组来存储5件商品的名称,并定义一个二维数组来存储这5件商品的3个库存信息。
用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于100的商品名单,并将该类别的所有库存量按从低到高的顺序排列。
代码实现:(分别定义了一个一维数组和一个二维数组,用于存储商品的名称和对应的3个库存信息,接着根据名称可以查看该商品的库存信息,也可以查找某个库存中数量小于100的商品名称,最后,对指定的库存进行冒泡排序并输出)
import java.util.Scanner; public class Test28 { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] products = { "洗发水" , "纸巾" , "水杯" , "牙膏" , "香皂" }; int[][] amounts = { { 50 , 80 , 90 } , { 40 , 80 , 78 } , { 50 , 45 , 789 } , { 100 , 685 , 55 } , { 898 , 754 , 63 } , { 99 , 478 , 685 } }; System.out.println("*************** 库存系统 ***************"); System.out.println("请输入要查询库存信息的商品名称:"); 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.println("\n*************** 查询库存不足 100 的商品 ***************"); System.out.println("1.入库 \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]; // 将指定类别的所有商品名称存储到temp数组中 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"); } } }
执行结果:
*************** 库存系统 *************** 请输入要查询库存信息的商品名称: 水杯 商品【水杯】的库存信息如下: 入库 出库 库存 50 45 789 *************** 查询库存不足 100 的商品 *************** 1.入库 2.出库 3.库存 请输入序号: 1 该类别下数量较少的商品有: 洗发水 纸巾 水杯 该类别的商品库存信息从低到高的排列如下: 40 50 50 100 898
你还想了解更多的相关java实例吗?请继续通过奇Q工具网来进行了解吧。
推荐阅读: