int 无法转换为int

我想将2D数组用于成绩簿方法,其中包含学生姓名,然后是考试成绩。 在课堂上我有如下。

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]; 

但是examScores是一个int[] 。 数组维度必须是一个int ,因此examScores不能用作数组维度(我可以理解你对错误的混淆,假设它是文字的:它想要一个int但你给它一个int[] )。

根据你的描述判断,我猜你的意思更多的是:

 gradebook = new int [numberOfStudents][numberOfExams]; 

numberOfExams是一个你需要的int ,包含考试的数量。 不过只是一个猜测。

examScores是一个int []数组,数组大小应该是int因此它会给你一个错误。

它告诉你究竟是什么问题。

examScores是一个int array但是您尝试将它用作单个整数,以表示您希望数组gradebook的第二维有gradebook

您可能希望使用examScores.length或一些数字来表示您想要的每位学生的考试成绩。