题目:
设计超市商品管理系统,实现以下功能:
1.输入五种商品名称、价格和数量;
2.统计商品的总价格及平均价格,最高价和最低价;
3.按价格降序排序;
4.统计高于平均价格和低于平均价格的商品数量;
5.输入商品名称查询商品的价格和数量。
环境:
编译器:IDEA 2022 Community
JDK版本:java version "1.8.0_351"
源代码:
import java.util.Scanner;
class Goods{ //商品
//数组的声明和初始化
static String[] name =new String[6]; //商品名称
static double[] price =new double[7]; //商品价格
static int[] account =new int[6]; //商品数量
static double average=0; //5种商品平均单价
public static void GoodsInformation(){ //商品信息
Scanner scanner=new Scanner(System.in);
for(int i=1;i<=5;i++){
System.out.print("请输入第"+i+"种商品的名称:");
name[i]=scanner.next();
System.out.print("请输入第"+i+"种商品的价格:");
price[i]=scanner.nextDouble();
System.out.print("请输入第"+i+"种商品的数量:");
account[i]=scanner.nextInt();
}//for
}//GoodsInformation 输入商品信息
public static void TAHL(){ //总价格、平均价格、冒泡法
double total1=0,total2=0;
for(int i=1;i<=5;i++){
total1+=price[i]*account[i]; //所有商品总价
total2+=price[i]; //5种商品单价和
}
average = total2 / 5; //5种商品平均单价
for(int i=1;i<=5;i++){ //冒泡法降序排序
for(int j=1;j<=5;j++){
if(price[j]<price[j+1]){
String na;
na=name[j+1];
name[j+1]=name[j];
name[j]=na;
double pr;
pr=price[j+1];
price[j+1]=price[j];
price[j]=pr;
int ac;
ac=account[j+1];
account[j+1]=account[j];
account[j]=ac;
}//if
}//内for
}//外for
System.out.println("这5种商品的总价格为:"+total1);
System.out.println("这5种商品的平均价格为:"+ average);
System.out.println("这5种商品的最高价为:"+price[1]);
System.out.println("这5种商品的最低价为:"+price[5]);
}//TAHL 输出总价、平均价格、冒泡法
public static void Descending(){ //以价格降序输出商品
System.out.println("\n"+"降序输出结果为:");
System.out.println("价格顺序 高--------------------------->低");
System.out.print("商品名称\t");
for(int i=1;i<=5;i++){
System.out.print(name[i]+"\t");
}//for
System.out.print("\n"+"商品价格\t");
for (int i=1;i<=5;i++){
System.out.print(price[i]+"\t");
}//for
System.out.print("\n"+"商品数量\t");
for (int i=1;i<=5;i++){
System.out.print(account[i]+"\t");
}//for
}//Descending 输出降价排序
public static void Statistics(){ //统计高于平均值等等
int a=0,b=0,c=0,eq=0,exceed=0,under=0; //局部变量
for(int i=1;i<=5;i++){
if(price[i]>average) {
a+=account[i];
exceed++;
}
}//for
for(int i=1;i<=5;i++){
if(price[i]==average) {
c+=account[i];
eq++;
}
}//for
for(int i=1;i<=5;i++){
if(price[i]<average) {
b+=account[i];
under++;
}
}//for
System.out.println("高于平均价格的商品有:"+exceed+"种");
System.out.println("高于平均价格的商品的数量为:"+a);
System.out.println("等于平均价格的商品有:"+eq+"种");
System.out.println("等于平均价格的商品的数量为:"+c);
System.out.println("低于平均价格的商品有:"+under+"种");
System.out.println("低于平均价格的商品的数量为:"+b);
}//Statistics统计 输出统计高于平均值等等
public static void Search() { //查找方法
Scanner scanner=new Scanner(System.in);
while(true){
String nameSearch; //输入商品的名称
System.out.print("请输入要查询的商品名称:");
nameSearch=scanner.next();
for(int i=1;i<=5;i++) {
if(nameSearch.equals(name[i])) {
System.out.println("商品名称:"+name[i]+"\n"+"商品价格:"+price[i]+"\n"+"商品数量:"+account[i]+"\n");
}//if
}//for
if(!nameSearch.equals(name[1]) && !nameSearch.equals(name[2]) && !nameSearch.equals(name[3])
&& !nameSearch.equals(name[4])&& !nameSearch.equals(name[5])){
System.out.println("\n超市目前无该商品,请重新输入或退出查询功能!"+"\n");
}
System.out.println("是否继续查询:"+"\n"+"若继续查询输入1,退出查询则输入0");
int chose=scanner.nextInt();
if(chose==0) {
return;
}//if
}//while
}//Search 输出查询信息
}//Goods
public class ManagementSystem {
public static void main(String[] args) {
while(true){ //无初始化、 判断条件、执行语句
System.out.println("\n"+"*************************************************");
System.out.println(" 欢迎来到超市商品管理系统! ");
System.out.println(" 系统功能如下: ");
System.out.println(" 1.输入5种商品的信息 ");
System.out.println(" 2.统计商品的总价格及平均价格,最高价和最低价 ");
System.out.println(" 3.按价格降序排序 ");
System.out.println(" 4.统计高于平均价格和低于平均价格的商品数量 ");
System.out.println(" 5.输入商品名称查询商品的价格和数量 ");
System.out.println(" 0.退出系统 ");
System.out.println("*************************************************");
System.out.print(" 请输入你需要使用的功能的序号:");
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
switch(x){
case 0:
System.out.println("\n"+"已退出超市商品管理系统,欢迎下次使用!");
System.exit(0);
case 1:
Goods.GoodsInformation();
break;
case 2:
Goods.TAHL();
break;
case 3:
Goods.Descending();
break;
case 4:
Goods.Statistics();
break;
case 5:
Goods.Search();
break;
}//switch
}//while
}//psvm
}//ManagementSystem
运行结果:
写在最后:
有问题欢迎私信博主~