java自定义类型数组

自定义的类型,创建数据后,为什么不能给对象赋值呢。代码如下。publicclassStudent{Stringname;//对象的名称publicint[]Score;/... 自定义的类型,创建数据后,为什么不能给对象赋值呢。代码如下。

public class Student {
String name;//对象的名称
public int [] Score;//成绩

}

//管理类
import java.util.*;
public class Manager {
public void input(Student [] stus){
Scanner in = new Scanner(System.in);
for (int i = 0;i <stus.length;i++){
System.out .print("请输入"+(i+1)+"个学生的姓名:");
stus[i].name = in.next();
for (int j = 0;j<stus[0].Score.length;j++){
System.out.print("请输入第"+(i+1)+"门成绩的分数:");
stus[i].Score[j] = in.nextInt();;
}
}

}

public static void main(String [] args){
Scanner in = new Scanner(System.in);
System.out.print("请输入学生人数:");
int Sl = in.nextInt();
Student [] stus = new Student[Sl];
Manager manager = new Manager();
manager.input(stus);
}

}
展开
 我来答
568145421
推荐于2017-11-28 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6755

向TA提问 私信TA
展开全部
你好,我看出两点问题来。
1. Student的对象都没有初始化,因为你只创建了数组对象,而数组的每个元素都为null,所以你运行的时候会抛出空指针异常。
2. 你的Student类里面的score属性,也定义成了数组类型,但是你没有对这个属性初始化,在下面给课程分数赋值的时候必然会出错。
更多追问追答
追问
Student数组的初始化该怎么表示呢,求解
追答
嗯,这么来吧,我给你写个实例,你看看能懂我的意思不。
Student[] stu = new Student[2] ;
stu[0] = new Student() ; //当然这里按照构造函数来实现
stu[1] = new Student() ;
仲夏灬夜之雨
2012-04-11 · TA获得超过516个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:83.6万
展开全部
public class Student {
String name;//对象的名称
public int [] Score=new int[2];//成绩,这里有几个成绩写成几个,或者就传一个
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int[] getScore() {
return Score;
}
public void setScore(int[] score) {
Score = score;
}

}
import java.util.*;
public class Manager {
public void input(Student[] stus){
Scanner in = new Scanner(System.in);
for (int i = 0;i <stus.length;i++){
System.out .println("请输入"+(i+1)+"个学生的姓名:");
stus[i].setName(in.next());
for (int j = 0;j<stus[0].Score.length;j++){
System.out.println("请输入第"+(i+1)+"门成绩的分数:");
stus[i].getScore()[j] = in.nextInt();
}
}

}

public static void main(String [] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入学生人数:");
int Sl = in.nextInt();
Student [] stus = new Student[Sl];
for (int i = 0; i < stus.length; i++) {
stus[i]=new Student();
}
Manager manager = new Manager();
manager.input(stus);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式