创建一个电脑主机配置单的Java程序可以涉及多个类,例如Computer
,CPU
,Motherboard
,Memory
,Storage
等。以下是一个简化的示例,用于展示如何构建这样的程序:
// CPU类
class CPU {
String model;
double speed; // GHz
int cores;
public CPU(String model, double speed, int cores) {
this.model = model;
this.speed = speed;
this.cores = cores;
}
@Override
public String toString() {
return "CPU Model: " + model + ", Speed: " + speed + "GHz, Cores: " + cores;
}
}
// 主板类
class Motherboard {
String model;
String chipset;
public Motherboard(String model, String chipset) {
this.model = model;
this.chipset = chipset;
}
@Override
public String toString() {
return "Motherboard Model: " + model + ", Chipset: " + chipset;
}
}
// 内存类
class Memory {
int size; // GB
String type; // DDR4, DDR5, etc.
public Memory(int size, String type) {
this.size = size;
this.type = type;
}
@Override
public String toString() {
return "Memory Size: " + size + "GB, Type: " + type;
}
}
// 存储类(例如SSD或HDD)
class Storage {
String model;
int capacity; // TB or GB, depending on the size
String type; // SSD, HDD, etc.
public Storage(String model, int capacity, String type) {
this.model = model;
this.capacity = capacity;
this.type = type;
}
@Override
public String toString() {
return "Storage Model: " + model + ", Capacity: " + capacity + "GB, Type: " + type;
}
}
// 显卡类
class GraphicsCard {
String model;
public GraphicsCard(String model) {
this.model = model;
}
@Override
public String toString() {
return "Graphics Card: " + model;
}
}
// 电源类
class PowerSupply {
String model;
int wattage;
public PowerSupply(String model, int wattage) {
this.model = model;
this.wattage = wattage;
}
@Override
public String toString() {
return "Power Supply: " + model + ", Wattage: " + wattage + "W";
}
}
// 散热类
class CoolingSystem {
String model;
public CoolingSystem(String model) {
this.model = model;
}
@Override
public String toString() {
return "Cooling System: " + model;
}
}
// 机箱类
class Case {
String model;
public Case(String model) {
this.model = model;
}
@Override
public String toString() {
return "Case: " + model;
}
}
// 风扇类
class Fan {
String model;
int quantity;
public Fan(String model, int quantity) {
this.model = model;
this.quantity = quantity;
}
@Override
public String toString() {
return "Fan: " + model + ", Quantity: " + quantity;
}
}
// 电脑类更新,添加新组件
class Computer {
CPU cpu;
Motherboard motherboard;
Memory memory;
Storage storage;
GraphicsCard graphicsCard;
PowerSupply powerSupply;
CoolingSystem coolingSystem;
Case case_; // 注意:case是Java中的关键字,所以我们使用case_
Fan[] fans;
public Computer(CPU cpu, Motherboard motherboard, Memory memory, Storage storage,
GraphicsCard graphicsCard, PowerSupply powerSupply, CoolingSystem coolingSystem,
Case case_, Fan[] fans) {
this.cpu = cpu;
this.motherboard = motherboard;
this.memory = memory;
this.storage = storage;
this.graphicsCard = graphicsCard;
this.powerSupply = powerSupply;
this.coolingSystem = coolingSystem;
this.case_ = case_;
this.fans = fans;
}
public void printConfiguration() {
System.out.println(cpu);
System.out.println(motherboard);
System.out.println(memory);
System.out.println(storage);
System.out.println(graphicsCard);
System.out.println(powerSupply);
System.out.println(coolingSystem);
System.out.println(case_);
for (Fan fan : fans) {
System.out.println(fan);
}
}
}
// 主程序类,用于测试上述类
public class Main {
public static void main(String[] args) {
CPU cpu = new CPU("Intel i5 13400F", 4.6, 10); // 10核,睿频4.6GHz,这里简化为10核心,不考虑线程数具体表示
Motherboard motherboard = new Motherboard("B760M GAMING WIFI GANK D5 AURA SYNC", "Intel B760"); // 假设芯片组为B760
Memory memory = new Memory(32, "DDR5 6400"); // 32GB DDR5 6400MHz (16GB*2)
Storage storage = new Storage("S50Pro 500G", 500, "NVME M.2 PCIE4.0"); // 500GB NVMe M.2 PCIE 4.0 SSD
GraphicsCard graphicsCard = new GraphicsCard("RTX4060 iCraft OC 8G X2");
PowerSupply powerSupply = new PowerSupply("EP650", 650); // 650W电源
CoolingSystem coolingSystem = new CoolingSystem("AX120SE ARGB");
Case case_ = new Case("C28 Air");
Fan[] fans = {
new Fan("棱镜5Pro ARGB", 3), // 正面3个风扇
new Fan("棱镜5Pro ARGB", 2) // 反面2个风扇
};
Computer computer = new Computer(cpu, motherboard, memory, storage, graphicsCard,
powerSupply, coolingSystem, case_, fans);
computer.printConfiguration(); // 打印电脑配置单
}
}
运行结果(控制台输出):
CPU Model: Intel i5 13400F, Speed: 4.6GHz, Cores: 10
Motherboard Model: B760M GAMING WIFI GANK D5 AURA SYNC, Chipset: Intel B760
Memory Size: 32GB, Type: DDR5 6400
Storage Model: S50Pro 500G, Capacity: 500GB, Type: NVME M.2 PCIE4.0
Graphics Card: RTX4060 iCraft OC 8G X2
Power Supply: EP650, Wattage: 650W
Cooling System: AX120SE ARGB
Case: C28 Air
Fan: 棱镜5Pro ARGB, Quantity: 3
Fan: 棱镜5Pro ARGB, Quantity: 2
配置详情:
CPU:Intel i5 13400F 10核16线程 睿频4.6GHz
主板:铭瑄 B760M GAMING WIFI GANK D5 AURA SYNC
内存:阿斯加特 女武神 吹雪联名 32G(16G*2)DDR5 6400 海拉 白
固态:威刚 S50Pro 500G NVME M.2 PCIE4.0
显卡:铭瑄 RTX4060 iCraft OC 8G 瑷珈X2 白
电源:爱国者 EP650 650W 白色 80PLUS认证
散热:利民 AX120SE ARGB 白
机箱:机械大师 C28 Air 银
风扇:棱镜5Pro ARGB 白 正*3 反*2