这里的将学生信息保存在数组中是不是不可以用forin循环?

这里的将学生信息保存在数组中是不是不可以用forin循环?

1
2
3
4
5
6
7
8
9
10
public void addStudent(Student stu){
    //1.存放学生信息在数组中
    for(Student temp:myStudent){
        if(temp==null){
            temp=stu;
            this.stuOfNum++;
            break;
        }
    }
}

运行之后却是空指针异常。。 。是不是因为要创建一个Student的对象temp遍历数组,而temp没有实例化啊?我在for in循环上面先Student temp=new Student();,循环还是会报错, 如果要正常运行要怎么修改?还是说这里不能用增强型for循环啊?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

temp=stu;这个地方是应该将stu存储到数组的元素当中,而temp只是从数组中取出的值的存放变量,不是数组元素,所以stu根本就没有存放到数组中,这道题目中不适合使用你说的forin循环。数组是可以使用forin循环遍历的,但这道题根据需求不合适。祝学习愉快!

  • 馈赠 提问者 #1
    非常感谢!
    2017-07-10 13:42:24
  • 麻烦我想问一下存放变量和数组元素的区别?
    2017-08-02 10:24:37
  • 数组元素是指数组中的每一个数据,比如a[0]表示数组的第一个元素,而普通变量和数组本身是没关系的,只是通过赋值操作可以把数组元素的值赋值给某个变量。
    2017-08-02 11:54:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师