Java数组实战训练2

假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列。具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import java.util.Scanner;

public class ArrayTest4 {
public static void main(String[] args) {
@SuppressWarnings("resource")
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}};
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数组中
}
for(int i=0;i<temp.length;i++) {
for(int j=temp.length-i-2;j>=i;j--) {
if(temp[j]>temp[j+1]) {
int x=temp[j];
temp[j]=temp[j+1];
temp[j+1]=x;
}
}
}
for(int i=0;i<5;i++) {
if(temp[i]<100 && temp[i]!=temp[i+1]) {
for(int j=0;j<5;j++) {
if(amounts[j][no-1]==temp[i]) {
System.out.print(products[j] +
"\t");

}
}
}
}
System.out.println("\n该类别的商品库存信息从低到高的"
+ "排列如下:");
for(int i=0;i<temp.length;i++) {
System.out.print(temp[i] + "\t");
}
}

}