xxdsaqf 2021-11-21 17:15 采纳率: 100%
浏览 40
已结题

java类对象数组,空指针异常,求解

问题遇到的现象和发生背景

1、创建一个Student类,在该类中,定义一些成员变量,如姓名、学号、班级、学校、成绩;同时,定义一些成员方法,比如:听课、看书、吃饭、自我介绍等;

2、在第一题的基础上,创建一个数组,数组类型为Student类;
要求一:然后通过for循环,给该数组中元素进行赋值,同时给每名同学的成绩进行赋值;
要求二:遍历该数组,将每名同学的成绩输出
要求三:使用冒泡排序,按照成绩大小,对学生进行排序,然后打印输出学生对应的学号和成绩

问题相关代码,请勿粘贴截图

public class Student {
public String name ;
public int id;
public String School;
public int score;

public void listen() {
    System.out.println("我能听课");
}
public void dohomework() {
    System.out.println("我能写作业");
}
public void intorduce() {
    System.out.println("我叫:"+name+",我的学校是:"
            +School+",我的学号是:"+id
            +",我的成绩是:"+score);
}

}


import java.util.Scanner;

public class Do {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Student[]arr=new Student[5];
    Scanner input=new Scanner(System.in);
    for(int i=0;i<arr.length;i++) {
        System.out.println("请输入名字");
        arr[i].name=input.next();
        
        arr[i].School="肥乡一中";
        System.out.println("请输入成绩");
        arr[i].score=input.nextInt();
        arr[i].id=i+1;
        
    }
    for(int t=0;t<arr.length;t++){
        arr[t].intorduce();
    }
    
}

}

运行结果及报错内容

空指针异常

我的解答思路和尝试过的方法
我想要达到的结果

能把数据输入进去

  • 写回答

3条回答 默认 最新

  • 关注

    你只创建了数组,并没有实例化类,加一行代码,arr[i] = new Student();

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student[]arr=new Student[5];
        Scanner input=new Scanner(System.in);
        for(int i=0;i<arr.length;i++) {
            arr[i] = new Student();
            System.out.println("请输入名字");
            arr[i].name=input.next();
            
            arr[i].School="肥乡一中";
            System.out.println("请输入成绩");
            arr[i].score=input.nextInt();
            arr[i].id=i+1;
            
        }
        for(int t=0;t<arr.length;t++){
            arr[t].intorduce();
        }
        
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月21日

悬赏问题

  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析