java 商场库存清单案例(重载和ArrayList方法)

1.要求:

 

 代码如下:

第一种方法: 用重载 参数传递方式;

import java.util.Scanner;
class shangchang1
{
public static void main(String[] args)
{
menu();
}
public static void show(){
System.out.println("--------------------库存管理-----------------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
}
public static void menu(){
System.out.println("品牌型号"+"\t"+"尺寸"+"\t"+"价格"+"\t"+"库存数");
String[] model={"MacBookAir","ThinkpadT450","ASUS-FL5800"};
double[] size={13.3,14.0,15.6};
double[] money={6988.88,5999.99,4999.5};
int[] count={5,10,18};
Scanner sc=new Scanner(System.in);
while(true){
show();
int choose=sc.nextInt();
switch (choose){
case 1 :show1(model,size,money,count);
break;
case 2:dapte(model,size,money,count);
break;
case 3:
return;
default:
System.out.println("您输入有误,请重新输入");
break;
}
}
}
public static void show1(String[] model,double[] size,double[] money,int[] count){
System.out.println("品牌型号"+"\t"+"尺寸"+"\t"+"价格"+"\t"+"库存数");
for(int i=0;i<size.length;i++){
System.out.println(model[i]+"\t"+size[i]+"\t"+money[i]+"\t"+count[i]);
}
System.out.println("--------------------------------------------------");
int sum=0;
for(int i=0;i<count.length;i++){
sum+=count[i];
}
System.out.println("总库存数:"+sum);
double sum1=0;
for(int i=0;i<count.length;i++){
sum1=count[i]*money[i]+sum1;
}
System.out.println("库存商品总金额:"+sum1);
}
public static void dapte(String[] model,double[] size,double[] money,int[] count){
//展示商品信息
System.out.println("品牌型号"+"\t"+"尺寸"+"\t"+"价格"+"\t"+"库存数");
for(int i=0;i<size.length;i++){
System.out.println((i+1)+"\t"+model[i]+"\t"+size[i]+"\t"+money[i]+"\t"+count[i]); //增加编号
}
System.out.println("请输入你要修改的商品序号: ");
Scanner sc=new Scanner(System.in);
int choose=sc.nextInt();
System.out.println("请输入你要修改的库存数量: ");
int number=sc.nextInt();
//修改库存
count[choose-1]=number;  
}
}

第二种方法:用ArrayList方法;

创建一个类名;

class goods
{
String brand;
double size;
double price;
int num;
}

代码:

import java.util .Scanner;
import java.util .ArrayList;
public class shangchang2 {
public static void main(String[] args)
{
menu();
}
public static void show(){
System.out.println("--------------------库存管理-----------------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
}
public static void menu(){                    
goods g1=new goods();                                      //创建3个对象;
g1 .brand="MacBookAir";
g1.size=13.3;
g1.price=6988.88;
g1.num=5;
goods g2=new goods();
g2 .brand="ThinkpadT450";
g2.size=14.0;
g2.price=5999.99;
g2.num=10;
goods g3=new goods();
g3 .brand="ThinkpadT450";
g3.size=14.0;
g3.price=5999.99;
g3.num=18;
ArrayList<goods> arr=new ArrayList<goods>();
arr.add(g1);
arr.add(g2);
arr.add(g3);
Scanner sc=new Scanner(System.in);
while(true){
show();
int choose=sc.nextInt();
switch (choose){
case 1 :show(arr);
break;
case 2:dapte(arr);
break;
case 3:
return;
default:
System.out.println("您输入有误,请重新输入");
break;
}
}
}
public static void show(ArrayList<goods> arr){
System.out.println("品牌型号"+"\t"+"尺寸"+"\t"+"价格"+"\t"+"库存数");
for (int i=0;i<arr.size();i++ ){
System.out.println(arr.get(i).brand+"\t"+arr.get(i).size+"\t"+arr.get(i).price+"\t"+arr.get(i).num);
}
}
public static void dapte(ArrayList<goods> arr){
//展示商品信息
System.out.println("品牌型号"+"\t"+"尺寸"+"\t"+"价格"+"\t"+"库存数");
for(int i=0;i<arr.size();i++){
System.out.println((i+1)+"\t"+arr.get(i).brand+"\t"+arr.get(i).size+"\t"+arr.get(i).price+"\t"+arr.get(i).num); //增加编号
}
System.out.println("请输入你要修改的商品序号: ");
Scanner sc=new Scanner(System.in);
int choose=sc.nextInt();
if(choose<arr.size()){
System.out.println("请输入你要修改的商品序号: ");
Scanner sc=new Scanner(System.in);
int choose=sc.nextInt();
//System.out.println("您输入商品序号不存在,请重新输入 ");
}
System.out.println("请输入你要修改的库存数量: ");
int number=sc.nextInt();
//修改库存
arr.get(choose-1).num=number;
}
}

二种效果如下:

 

posted @ 2020-03-13 12:39  丿狂奔的蜗牛  阅读(764)  评论(0编辑  收藏  举报