java类中定义的数组为空问题

这是一个求助帖,希望看到的大哥大姐们能帮帮我,改了两个小时愣是找不出问题所在/哭,我的作业要求是这样的

编写一个学生类Student.属性有:学号姓名年龄将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赚值,并实现如下操作:

  1. 将所有学生年龄增加一岁
  2. 按数组中序列显示所有学生信息
  3. 查找显示所有年龄大于20岁的学生名单

然后我想着创建两个类,一个是学生类,一个是班级类,班级类用于管理学生对学生做批量处理,然下面的代码就诞生了

package student;

public class std {
	public static class student{
        String id;
        String name;
        int old;
       public student(String id,String namel,int old){
            this.id=id;
            this.name=name;
            this.old=old;
        }
        public void addOld(){
            this.old++;
        }
    }
    public static class classroom{
        int classNum;
        int classSize;
        student allMate[];
        public classroom(int num){
            this.classNum=num;
            this.allMate=new student[classNum];
            classSize=0;
        }
        public void addMate(String id,String name,int old){
            allMate[classSize].id=id;
            allMate[classSize].name=name;
            allMate[classSize].old=old;
            classSize+=1;
            return ;
        }
        public void addOld(){
            int i;
            for(i=0;i<classSize;i++){
                allMate[i].old++;
            }
            return ;
        }
        public void judgeAge(){
        	if(classSize==0)
        		return ;
            int i,flag=0;
            for(i=0;i<classSize;i++){
                if(allMate[i].old>20){
                    flag=1;
                    break;
                }
            }
            if(flag==1){
                System.out.println("学号\t姓名\t年龄");
            }
            for(i=0;i<classSize;i++){
                if(allMate[i].old>20){
                    System.out.println(allMate[i].id+"\t"+allMate[i].name+"\t"+allMate[i].old);
                }
            }
            return;
        } 
        public static void main(String[] args){
            classroom c1=new classroom(30);
            c1.addMate("321001","xiaoming",19);
            c1.addMate("321002","xiaofang",21);
            c1.addMate("321003","xiaoke",22);
            c1.addMate("321004","xiaoyong",20);
            c1.addMate("321005","xiaocong",23);
            c1.judgeAge();
            c1.addOld();
            c1.judgeAge(); 
        }
    }
    
}

然后下面的是报错信息,我不知道哪里出了问题,求大佬赐教

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值