Java计算四家店手机的最低价格
在这篇文章中,我们将一起学习如何使用Java来计算四家店手机的最低价格。这个问题实际上可以分为几个步骤来进行解决。下面,我们将建立一个清晰的流程并逐步实现代码。
整体流程
以下是实现这一目标的步骤:
步骤 | 描述 |
---|---|
1 | 创建一个 Phone 类来表示手机 |
2 | 创建一个 Shop 类来表示商店 |
3 | 设置销量和价格 |
4 | 实现计算最低价格的函数 |
5 | 在 main 方法中测试函数 |
步骤详解
步骤 1:创建一个 Phone
类
这个类用来表示手机的基本属性,例如型号和价格。
public class Phone {
private String model; // 手机型号
private double price; // 手机价格
// 构造函数
public Phone(String model, double price) {
this.model = model;
this.price = price;
}
// 获取手机型号
public String getModel() {
return model;
}
// 获取手机价格
public double getPrice() {
return price;
}
}
步骤 2:创建一个 Shop
类
这个类用来表示商店以及它所售卖的手机列表。
import java.util.ArrayList;
import java.util.List;
public class Shop {
private String name; // 店名
private List<Phone> phones; // 手机列表
// 构造函数
public Shop(String name) {
this.name = name;
this.phones = new ArrayList<>();
}
// 添加手机到商店
public void addPhone(Phone phone) {
phones.add(phone);
}
// 获取所有手机
public List<Phone> getPhones() {
return phones;
}
}
步骤 3:设置价格
现在,我们可以创建四个商店,并为每个商店添加手机及其价格。
public class Main {
public static void main(String[] args) {
// 创建商店
Shop shop1 = new Shop("Shop 1");
Shop shop2 = new Shop("Shop 2");
Shop shop3 = new Shop("Shop 3");
Shop shop4 = new Shop("Shop 4");
// 添加手机和价格
shop1.addPhone(new Phone("Phone A", 500));
shop1.addPhone(new Phone("Phone B", 600));
shop2.addPhone(new Phone("Phone A", 450));
shop2.addPhone(new Phone("Phone C", 550));
shop3.addPhone(new Phone("Phone B", 620));
shop3.addPhone(new Phone("Phone D", 700));
shop4.addPhone(new Phone("Phone A", 490));
shop4.addPhone(new Phone("Phone C", 580));
}
}
步骤 4:实现计算最低价格的函数
我们需要一个函数来遍历所有商店,寻找某种特定手机的最低价格。
public static double findLowestPrice(String model, List<Shop> shops) {
double lowestPrice = Double.MAX_VALUE; // 初始最低价格设为最大值
for (Shop shop : shops) {
for (Phone phone : shop.getPhones()) {
if (phone.getModel().equals(model) && phone.getPrice() < lowestPrice) {
lowestPrice = phone.getPrice(); // 更新最低价格
}
}
}
return lowestPrice == Double.MAX_VALUE ? -1 : lowestPrice; // 如果没有找到,返回-1
}
步骤 5:测试功能
将所有步骤结合在一起进行测试,以查看每种手机的最低价格。
public static void main(String[] args) {
// 创建商店及手机
// ...(上面创建商店的代码)
// 创建商店列表
List<Shop> shops = new ArrayList<>();
shops.add(shop1);
shops.add(shop2);
shops.add(shop3);
shops.add(shop4);
// 计算并输出每种手机的最低价格
System.out.println("Phone A最低价格: " + findLowestPrice("Phone A", shops));
System.out.println("Phone B最低价格: " + findLowestPrice("Phone B", shops));
System.out.println("Phone C最低价格: " + findLowestPrice("Phone C", shops));
System.out.println("Phone D最低价格: " + findLowestPrice("Phone D", shops));
}
类图
使用Mermaid语法来表示我们的类图:
classDiagram
class Phone {
+String model
+double price
+getModel()
+getPrice()
}
class Shop {
+String name
+List<Phone> phones
+addPhone(Phone phone)
+getPhones()
}
关系图
下面是我们数据的关系模型(ER图),描述不同商店与手机之间的关系。
erDiagram
SHOP {
string name
}
PHONE {
string model
double price
}
SHOP ||--o{ PHONE : sells
结尾
通过这个简单的项目,你不仅学习了如何在Java中创建类和对象,还学会了如何遍历集合并实现基本的业务逻辑。我们从创建类开始,逐步实现完整的功能,最终达到计算四家店中手机的最低价格。希望这篇文章能够帮助你在Java编程上更进一步!如果有任何问题,请随时进行探索和提问。