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日

悬赏问题

  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥15 怎么做商品窗体,完完全全不会
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 铜与钢双金属板叠加在一起每种材料300mm长,18mm宽,4mm厚一端固定并加热至80℃,当加热端温度保持不变时另一端的稳态温度。ansys
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥15 ANSYS分析简单钎焊问题