publicclassAC{//是否开机privatebooleanpoweredOn=false;//最大温度,初始化为40privateintmaxTempture=40;//最小温度。初始化为15privateintminTempture=15;//室外温度privateintex...
public class AC{
//是否开机
private boolean poweredOn = false;
// 最大温度,初始化为40
private int maxTempture = 40;
//最小温度。初始化为15
private int minTempture = 15;
//室外温度
private int externalTempture;
//建立模式数组.存入模式名称
private Model[] models;
// 开机
public void powerOn() {
this.poweredOn = true;
if (haveModels())
play();
}
//关机
public void powerOff(){
this.poweredOn = false;
}
//存入模式名称
public void storeModel() {
if (poweredOn) {
models =new Model[i];
models = new Model[new java.util.Random().nextInt(2)];
models[1] = new Model("COOL");
models[2] = new Model("HEAT");
}
this.play();
}
//判断是否有预存模式
private boolean haveModels(){
if (models == null) {
System.out.println("还没有已保存的模式");
return false;
}
return true;
}
//开机选择模式
public Model model;
public void changeModel(int externalTempture){
if (poweredOn){
if(externalTempture<=15){
model.coolModel();
i = 1;
this.play();
}else if(externalTempture>=36){
model.heatModel();
i = 2;
this.play();
}else
System.out.println("无须开空调");
}
}
//温度+
public void temptureUp(){
if(poweredOn && model.coolModel()){
if(model.getTempture()<=maxTempture&&model.getTempture()<=externalTempture)
model.temptureUp();
i = 1;
this.play();
}else if(poweredOn && model.heatModel()){
if(model.getTempture()<=maxTempture)
model.temptureUp();
i = 2;
this.play();
}
}
//温度—
public void temptureDown(){
if(poweredOn && model.coolModel()){
if(model.getTempture()>=minTempture)
model.temptureDown();
i = 1;
this.play();
}else if(poweredOn && model.heatModel()){
if(model.getTempture()>=minTempture && model.getTempture()>=externalTempture)
model.temptureDown();
i = 2;
this.play();
}
}
//打印
int i;
public void play() {
System.out.println("当前模式:" +" models[i]"
+ ";当前模式温度:" + model.getTempture());
}
}
显示为i=null,mdel=null,另外:Exception in thread "main" java.lang.NullPointerException
展开