设计要求
设计花店鲜花管理系统,实现以下功能:
(1)输入5种鲜花名称、价格和数量;
(2)统计鲜花的总价格及平均价格、最高价和最低价;
(3)按价格降序排序;
(4)统计高于平均价格和低于平均价格的鲜花数量;
(5)输入鲜花名称查询商品的价格和数量。
实现代码
package work.chengxu;
import java.util.Scanner;
class Flower {
private String name;
private double price;
private int amount;
public Flower() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}
public class FlowerList {
int maxLength = 5;
int length = 0;
Flower[] data = new Flower[maxLength];
Scanner input = new Scanner(System.in);
public FlowerList() {
}
//添加记录方法
public void add() {
if (length < maxLength) {
data[length] = new Flower();
System.out.print("请输入花名: ");
data[length].setName(input.next());
System.out.print("请输入花的价格:");
data[length].setPrice(input.nextDouble());
System.out.print("请输入花的数量:");
data[length].setAmount(input.nextInt());
length++;
System.out.println("添加成功!");
} else {
System.out.println("添加失败!");
}
}
//显示花名方法
public void transcript() {
System.out.println("=====================================");
System.out.println(" 花名 价钱 数量 ");
for (int i = 0; i < length; i++) {
System.out.println(data[i].getName() + "\t" + data[i].getPrice() + "\t" + data[i].getAmount());
}
System.out.println("=====================================\n");
}
//花价从高往低排序方法
public void sort() {
Flower temp = new Flower();
// 冒泡法排序
for (int i = 1; i < length; i++) {
for (int j = 0; j < length - i; j++) {
if (data[j].getPrice() < data[j + 1].getPrice()) {
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
}
// 平均值、最大最小值方法
public void average() {
double sum = 0.0;
double max = 0.0;
double min = 100.0;
for (int i = 0; i < length; i++) {
sum += data[i].getPrice();
// 三目运算法
max = max > data[i].getPrice() ? max : data[i].getPrice();
min = min < data[i].getPrice() ? min : data[i].getPrice();
}
System.out.printf("总价钱"+sum);
System.out.printf("平均价钱为: %.2f\n", sum / length);
System.out.println("最高价钱为: " + max + "\n" + "最低价钱为: " + min + "\n");
}
//高于,低于平均值
public void classify() {
double sum = 0.0;
int num1=0;
int num2=0;
for (int i = 0; i < length; i++) {
sum += data[i].getPrice();
}
for(int m=0;m<length;m++) {
if(data[m].getPrice()>=sum/length)
num1++;
else
num2++;
}
System.out.println("高于平均值个数:"+num1+"\n"+"低于平均值个数:"+num2);
}
// 查询鲜花信息方法
public void inquire() {
System.out.print("请输入您要查询的花名:");
String number2 = input.next();
int i;
for (i = 0; i < length; i++) {
if (number2.equals(data[i].getName())) {
System.out.println("====================================");
System.out.println(" 花名 价钱 个数 ");
System.out.println(data[i].getName() + "\t" +"\t"+ data[i].getPrice() + "\t"+"\t" + data[i].getAmount());
System.out.println("====================================\n");
break;
}
}
if (i == length) {
System.out.println("查无此花请核对后重新输入 \n");
inquire();
}
}
}
class test {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
String choice = "1";
FlowerList flowerlist = new FlowerList();
System.out.println("**********鲜花管理系统********");
while (choice.equals("0") == false) {
System.out.println("1.查看鲜花单");
System.out.println("2.添加鲜花");
System.out.println("3.查看某个鲜花");
System.out.println("4.统计花的总价钱,平均价钱,最高价钱和最低价钱");
System.out.println("5.按价钱从高往低排序,并输出");
System.out.println("6.统计高于平均价格和低于平均价格");
System.out.println("0.退出程序");
System.out.print("Enter your choice: ");
choice = input.next();
switch (choice) {
case "0":
System.out.println("谢谢您的使用,欢迎下次光临!\n" + "**********按任意键结束程序**********");
break;
case "1":
flowerlist.transcript();
System.out.println("请问您还需要什么服务?\n");
break;
case "2":
int i = 1;
do {
flowerlist.add();
System.out.println("\n是否继续添加?" + "\n" + "0.否" + "\n" + "1.是");
i = input.nextInt();
} while (i == 1);
System.out.println("请问您还需要什么服务?\n");
break;
case "3":
flowerlist.inquire();
System.out.println("请问您还需要什么服务?\n");
break;
case "4":
flowerlist.average();
System.out.println("请问您还需要什么服务?\n");
break;
case "5":
flowerlist.sort();
flowerlist.transcript();
System.out.println("请问您还需要什么服务?\n");
break;
case "6":
flowerlist.classify();
System.out.println("请问您还需要什么服务?\n");
break;
default:
System.out.println("请重新输入.");
break;
}
}
}
}
运行结果
后面大家就可以自行输入对应功能前的序号,实现此系统的功能