我想将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。
答案 0 :(得分:1)
你有:
gradebook = new int [numberOfStudents][examScores];
但examScores
是int[]
。数组维度必须是int
,因此examScores
不能用作数组维度(我可以理解您对错误的混淆,考虑到它的字面意义:它需要int
但是你给它一个int[]
)。
根据你的描述来判断我猜你的意思更多的是:
gradebook = new int [numberOfStudents][numberOfExams];
numberOfExams
是您需要的int
,其中包含考试次数。不过只是一个猜测。
答案 1 :(得分:1)
examScores
是一个int []数组,数组大小应该是int
,因此它会给你一个错误。
答案 2 :(得分:1)
它告诉你究竟是什么问题。
examScores
是int array
,但您尝试将其用作单个整数,以表示您希望数组gradebook
的第二维的大小。
您可能希望使用examScores.length
或某个数字来表示您想要的每位学生的考试成绩。