题目
编写代码模拟手机与SIM卡的组合关系。
要求:
- SIM卡类负责创建SIM卡;
- Phone类负责创建手机;
- 手机可以组合一个SIM卡;
- 手机可以更换其中的SIM卡。
主类:
package cn.ganggang;
public class TestMain {
public static void main(String[] args) {
SIM sim = new SIM("13375436630");
System.out.println("***我的动作----买手机");
Phone phone = new Phone();
System.out.println("***我的动作----向手机中插入一张sim卡");
phone.setSim(sim);
SIM sim2 = new SIM("10086");
System.out.println("***我的动作----向手机中插入第二张sim卡");
phone.setSim(sim2);
System.out.println("***我的动作----取出手机中的sim卡");
if(phone.getSim()!=null) {
System.out.println("我:拿到了手机卡。");
}else {
System.out.println("我:手机里并没有插卡...");
}
System.out.println("***我的动作----再次取出手机中的sim卡");
if(phone.getSim()!=null) {
System.out.println("我:拿到了手机卡。");
}else {
System.out.println("我:手机里并没有插卡...");
}
System.out.println("***我的动作----向手机中插入第二张sim卡");
phone.setSim(sim2);
}
}
SIM类:
package cn.ganggang; public class SIM { private String telephone; public SIM(String tele) { this.telephone = tele; } public String getTelephone() { return this.telephone; } }
phone类:
package cn.ganggang; public class Phone { private SIM sim = null; public Phone() { System.out.println("我买了一块新手机。"); } public SIM getSim() { if (sim != null) { SIM s = sim; sim = null; System.out.println("手机提示:sim卡已退出。"); printSIMStatus(); return s; }else { System.out.println("手机提示:手机中没有卡。"); return null; } } public void setSim(SIM sim) { if (this.sim != null) { System.out.println("手机提示:sim卡已存在,请先取出现有的卡。"); printSIMStatus(); } else { System.out.println("手机提示:成功插入sim卡"); this.sim = sim; printSIMStatus(); } } public String getPhoneNumber() { return sim.getTelephone(); } private void printSIMStatus() { if (sim == null) { System.out.println("手机提示:卡状态显示:sim卡不存在。"); } else { System.out.println("手机提示:卡状态显示:sim卡状态正常。本机号码:" + sim.getTelephone()); } } }
运行结果: 我的动作——买手机 我买了一块新手机。我的动作——向手机中插入一张sim卡 手机提示:成功插入sim卡 手机提示:卡状态显示:sim卡状态正常。本机号码:13375436630 我的动作——向手机中插入第二张sim卡 手机提示:sim卡已存在,请先取出现有的卡。 手机提示:卡状态显示:sim卡状态正常。本机号码:13375436630我的动作——取出手机中的sim卡 手机提示:sim卡已退出。 手机提示:卡状态显示:sim卡不存在。 我:拿到了手机卡。 我的动作——再次取出手机中的sim卡 手机提示:手机中没有卡。 我:手机里并没有插卡…我的动作——向手机中插入第二张sim卡 手机提示:成功插入sim卡 手机提示:卡状态显示:sim卡状态正常。本机号码:10086