int []无法转换为int

时间:2014-04-20 02:25:26

标签: java arrays class

我想将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。

3 个答案:

答案 0 :(得分:1)

你有:

gradebook = new int [numberOfStudents][examScores];

examScoresint[]。数组维度必须是int,因此examScores不能用作数组维度(我可以理解您对错误的混淆,考虑到它的字面意义:它需要int但是你给它一个int[])。

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

gradebook = new int [numberOfStudents][numberOfExams];

numberOfExams是您需要的int,其中包含考试次数。不过只是一个猜测。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

examScoresint array,但您尝试将其用作单个整数,以表示您希望数组gradebook的第二维的大小。

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