11.21
在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。
实验要求:
-
提交类图;
-
提交源代码;
// File: Client.java
package waiguan;
public class Client {
public static void main(String[] args) {
Mainframe mainframe = new Mainframe();
mainframe.on();
}
}
// File: Mainframe.java
package waiguan;
public class Mainframe {
private boolean operIf = true;
private Memory memory;
private CPU cpu;
private HardDisk hardDisk;
private OS os;
public Mainframe() {
memory = Memory.getInstance();
cpu = CPU.getInstance();
hardDisk = HardDisk.getInstance();
os = OS.getInstance();
}
public void setOperIf(boolean operIf) {
this.operIf = operIf;
}
public void on() {
// 按顺序检查各个组件
if (memory.check(operIf) &&
cpu.run(operIf) &&
hardDisk.read(operIf) &&
os.load(operIf)) {
System.out.println("计算机启动成功!");
} else {
System.out.println("计算机启动失败!");
}
}
}
// File: Memory.java
package waiguan;
public class Memory {
private static Memory instance = new Memory();
private Memory() {}
public static Memory getInstance() {
return instance;
}
public boolean check(boolean operIf) {
if (operIf) {
System.out.println("内存自检成功!");
return true;
} else {
System.out.println("内存自检失败!");
return false;
}
}
}
// File: CPU.java
package waiguan;
public class CPU {
private static CPU instance = new CPU();
private CPU() {}
public static CPU getInstance() {
return instance;
}
public boolean run(boolean operIf) {
if (operIf) {
System.out.println("CPU运行成功!");
return true;
} else {
System.out.println("CPU运行失败!");
return false;
}
}
}
// File: HardDisk.java
package waiguan;
public class HardDisk {
private static HardDisk instance = new HardDisk();
private HardDisk() {}
public static HardDisk getInstance() {
return instance;
}
public boolean read(boolean operIf) {
if (operIf) {
System.out.println("硬盘读取成功!");
return true;
} else {
System.out.println("硬盘读取失败!");
return false;
}
}
}
// File: OS.java
package waiguan;
public class OS {
private static OS instance = new OS();
private OS() {}
public static OS getInstance() {
return instance;
}
public boolean load(boolean operIf) {
if (operIf) {
System.out.println("操作系统加载成功!");
return true;
} else {
System.out.println("操作系统加载失败!");
return false;
}
}
}
3.注意编程规范。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步