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
或一些数字来表示您想要的每位学生的考试成绩。