商品录入系统
通过Java基础的相关知识,设计并完成一个简单的商品录入系统,可以实现:菜单显示,商品信息展示,商品信息录入,商品信息查询,退出的功能。
菜单:商品信息展示,商品信息录入,商品信息查询,退出
商品信息:商品编号、名字、库存、
Arr1 [] ={编号1 编号2 编号3}
Arr2 [] ={名字1 名字2 名字3}
Arr3 [] ={库存1 库存2 库存3}
我们在这里运用三个数组来存储输入的商品信息,然后菜单显示,商品信息展示、商品信息录入、商品信息查询、退出一共加起来有五个功能,我们可以定义五个方法来分别实现这些功能,我们先写主函数
public static void main(String[] args) {
int arr1[] = new int[20];
String arr2[] = new String[20];
int arr3[] = new int[20];
int index=0;
int h=0;
//广告语
System.out.println("欢迎使用系统,请输入下列提示进行操作");
//调用显示菜单的方法
showMenu();
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入1~4之间的数字代表对应的操作");
int i = scanner.nextInt();
switch (i) {
case 1:
goodsInputMethod(arr1, arr2, arr3, index,h);
break;
case 2:
goodsShow(arr1, arr2, arr3,h);
break;
case 3:
goodsSelsection(arr1, arr2, arr3);
break;
case 4:
goodsExit();
break;
default:
break;
}
if(i>=4){
break;
}
}
}
商品菜单展示的方法:
public static void showMenu(){
String menu[]={"1商品信息展示","2商品信息录入","3商品信息查询","4退出"};
for (int i = 0; i < menu.length; i++) {
System.out.println(menu[i]);
}
}
然后是商品展示的方法:
private static void goodsShow(int[]arr1,String[]arr2,int[]arr3,int h) {
int j = 0;
for (int i = h; i < arr1.length; i++) {
if (arr1[i] == 0) {
int a[]=new int[i];
System.arraycopy(arr1,0,a,0,i);
for (int k = 0; k < a.length; k++) {
System.out.print(a[k]+" ");
}
System.out.println();
break;
}
}
for (int i = h; i < arr2.length; i++) {
if (arr2[i] == null) {
String a[]=new String[i];
System.arraycopy(arr2,0,a,0,i);
for (int k = 0; k < a.length; k++) {
System.out.print(a[k]+" ");
}
System.out.println();
break;
}
}
for (int i = h; i < arr3.length; i++) {
if (arr3[i] == 0) {
int a[]=new int[i];
System.arraycopy(arr3,0,a,0,i);
for (int k = 0; k < a.length; k++) {
System.out.print(a[k]+" ");
}
System.out.println();
break;
}
}
}
商品展示这里,因为我们定义的数组是一个长度为20的数组,但是我们实际上的录入往往不会有二十个数,所以这里我们定义了一个新的数组用来接收录入的数据,其余原数组的数据就不打印了
商品录入方法:
private static int goodsInputMethod(int[]arr1,String[]arr2,int[]arr3,int index,int h) {
while (true) {
System.out.println("请输入商品编号");
Scanner scanner = new Scanner(System.in);
int id = scanner.nextInt();
arr1[index]=id;
System.out.println("请输入商品的名字");
String name = scanner.next();
arr2[index]=name;
System.out.println("请输入商品的价格");
int price = scanner.nextInt();
arr3[index]=price;
h++;//?
System.out.println("是否需要继续录入商品,停止录入请按1,继续请按2");
int i = scanner.nextInt();
if (i==1){
break;
}else if (i==2){
index++;
continue;
}else {
System.out.println("输入错误,请输入1(停止)或者2(继续)");
break;
}
}
//System.out.println(Arrays.toString(arr1));
return h;
}
再就是查询方法,这里查询可以根据三个参数来查询,编号,名字,价格都可以用来查询
查询的方法:
private static void goodsSelsection(int arr1[],String[] arr2,int[] arr3) {
System.out.println("请输入查询条件 1:编号查询 2:名字查询 3:价格查询");
Scanner scanner = new Scanner(System.in);
int selectIf = scanner.nextInt();
switch (selectIf){
case 1:
System.out.println("请输入要查询的编号");
int id=scanner.nextInt();
selectByID(id,arr1,arr2,arr3);
break;
case 2:
System.out.println("请输入要查询的名字");
String name =scanner.next();
selectByName(name,arr2,arr1,arr3);
break;
case 3:
System.out.println("请输入要查询的价格");
int price =scanner.nextInt();
selectByPrice(price,arr3,arr1,arr2);
break;
default:
System.out.println("输入错误");
}
}
根据编号查询:
private static void selectByID(int id,int arr1[],String[]arr2,int[] arr3) {
for (int i = 0; i <arr1.length; i++) {
if(arr1[i]==id){
System.out.print("编号"+arr1[i]+" ");
System.out.print("名字"+arr2[i]+" ");
System.out.println("价格"+arr3[i]);
}
}
}
根据价格查询:
private static void selectByPrice(int price,int []arr3,int[]arr1,String[]arr2) {
for (int i = 0; i <arr3.length; i++) {
if(arr3[i]==price){
System.out.print("编号"+arr1[i]+" ");
System.out.print("名字"+arr2[i]+" ");
System.out.println("价格"+arr3[i]);
}
}
}
根据名字查询:
private static void selectByName(String name,String[]arr2,int[] arr1,int[]arr3) {
for (int i = 0; i <arr2.length; i++) {
if (name.equals(arr2[i])) {
System.out.print("编号" + arr1[i] + " ");
System.out.print("名字" + arr2[i] + " ");
System.out.println("价格" + arr3[i]);
}
}
}
这里的名字查询中,if判断里面一定要写成name.equals(arr2[i]),如果写成arr2[i].equals(name),会报空指针异常的错误,这里一定的注意,equals方法前面的变量一定不能为空。
运行结果:
欢迎使用系统,请输入下列提示进行操作
1商品信息展示
2商品信息录入
3商品信息查询
4退出
请输入1~4之间的数字代表对应的操作
1
请输入商品编号
1
请输入商品的名字
西瓜
请输入商品的价格
12
是否需要继续录入商品,停止录入请按1,继续请按2
2
请输入商品编号
2
请输入商品的名字
香蕉
请输入商品的价格
16
是否需要继续录入商品,停止录入请按1,继续请按2
2
请输入商品编号
3
请输入商品的名字
苹果
请输入商品的价格
12
是否需要继续录入商品,停止录入请按1,继续请按2
1
请输入1~4之间的数字代表对应的操作
2
1 2 3
西瓜 香蕉 苹果
12 16 12
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
1
请输入要查询的编号
1
编号1 名字西瓜 价格12
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
3
请输入要查询的价格
12
编号1 名字西瓜 价格12
编号3 名字苹果 价格12
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
2
请输入要查询的名字
西瓜
编号1 名字西瓜 价格12