Java int[]无法转换为int
我想使用2D数组作为成绩册方法,其中包含学生姓名,然后是考试分数。在课堂上我做了如下练习Java int[]无法转换为int,java,arrays,class,Java,Arrays,Class,我想使用2D数组作为成绩册方法,其中包含学生姓名,然后是考试分数。在课堂上我做了如下练习 private int numberOfStudents; private String [] studentName; private int examNumber; private int [] examScores; private int [][] gradebook; public ExamAverage () { numberOfStudents = 0; studentName =
private int numberOfStudents;
private String [] studentName;
private int examNumber;
private int [] examScores;
private int [][] gradebook;
public ExamAverage ()
{
numberOfStudents = 0;
studentName = new String[numberOfStudents];
examNumber = 0;
examScores = new int [numberOfStudents];
gradebook = new int [numberOfStudents][examScores];
但是我得到一个错误int[]无法转换为int。您有:
gradebook = new int [numberOfStudents][examScores];
但是examcores
是一个int[]
。数组维度必须是int
,因此examcores
不能用作数组维度(考虑到错误的字面含义,我可以理解您对错误的混淆:它想要int
,但您给了它一个int[]
)
根据你的描述,我猜你的意思是:
gradebook = new int [numberOfStudents][numberOfExams];
其中
numberofexamies
是您需要的int
,包含考试计数。不过,这只是一个猜测。examcores
是一个int[]数组,数组大小应该是int
,因此它会给您一个错误。它确切地告诉您问题出在哪里
examcores
是一个int数组
,但您试图将其用作一个整数,以表示您希望数组成绩册的第二维度的大小
您可能想使用examcores.length
或一些数字来指示每个学生想要多少考试分数。那么,您认为这个错误意味着什么?这里还有一个严重的问题。您正在创建大小为零的数组。在创建数组studentName
、ExamStores
和gradebook
之前,您确实需要将numberOfStudents
和NumberOfExames
设置为非零的值;否则这些数组将没有空间容纳任何实际值。非常感谢Jason!是非常有用的信息,并添加到我的笔记本甚至哈哈。很高兴你理解我的困惑。你帮了大忙!