I want to use a 2D array for a gradebook method, where it has the student names, then the exam scores. In the class I have as follows.
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];
Yet I get an error int[] cannot be converted to int.
It's telling you exactly what the problem is.
examScores
is anint array
but you're trying to use it as a single integer for how large you want the 2nd dimension of your arraygradebook
to be.You probably want to use
examScores.length
or some number that indicates how many exam scores per student you want.examScores
is an int[] array, and array size should beint
so it gives you an error.You have:
But
examScores
is anint[]
. Array dimensions have to be anint
, soexamScores
cannot be used as an array dimension (I can understand your confusion about the error, given how literal it is: it wants anint
but you gave it anint[]
).Judging by your description I'm guessing you mean something more along the lines of:
Where
numberOfExams
is anint
you'll need, containing the count of exams. Just a guess, though.