java 对象无法解析为变量,如何解决?

在代码中明明已经确保了生成对象 但是无法用对象名访问对象
报错:z1 无法解析为变量
jdk版本:j13

if (已建组数<组数) {
    if(已建组数<大组数) {
        组 z1=new 组(大组人数);
    }    else{
        组 z1=new 组(每组人数);
    }    
    System.out.println("z1初始化成功 人数:"+z1.人数);//报错位置
}

因为你的z1在第二个if的代码块中的,作用域也只是在第二个if的代码块中或者内部,但是输出语句是在第二个if代码块的外面,超出了z1的作用域,所以是无法使用z1去取到值的

img


估计是这里的原因吧!


if (已建组数<组数) {
组 z1;
    if(已建组数<大组数) {
        z1=new 组(大组人数);
    }    else{
        z1=new 组(每组人数);
    }    
    System.out.println("z1初始化成功 人数:"+z1.人数);//报错位置
}