java如果变量为空则执行_java 运行出现空指针,变量i和model为空,,请高手帮忙解答...

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

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值