public class GradeClass {
String nameF;
int[] gradesF = new int[4];
float average;
public GradeClass(String name, int grade1, int grade2, int grade3, int grade4) {
nameF = name;
gradesF[0] = grade1;
gradesF[1] = grade2;
gradesF[2] = grade3;
gradesF[3] = grade4;
}
public float getAverage() {
average = (gradesF[0] + gradesF[1] + gradesF[2] + gradesF[3] / gradesF.length);
return average;
}
// Used to reference number of sides used in current state of die.
public String getName() {
return nameF;
}
// Used to reference number of sides used in current state of die.
public int[] getGrades() {
return gradesF;
}
}
else if (a == 2) {
System.out.println("Enter name of "+ (a+1) +" person. :: ");
nameI = keyboard.next();
while (size < 1 || size > 4 ) {
System.out.println("How many grades would you like to enter? 'Max-4' :: ");
size = keyboard.nextInt();
}
while (gradeArray[b] > 1 || gradeArray[b] > 100 ) {
System.out.println("Enter the " + size + " grades here :: ");
for(b=0; b<size; b++) {
gradeArray[b] = keyboard.nextInt();
}
GradeClass student3 = new GradeClass(nameI, gradeArray[0],gradeArray[1],gradeArray[2],gradeArray[3]);
} }
else {
numPersons = 0;
}
}
grade1A = student1.gradesF[0] + student2.gradesF[0] + student3.gradesF[0];
averageA = student1.average + student2.average + student3.average;
System.out.println("Name \t\t Grade 1 \t Grade 2 \t Grade 3 \t Grade 4 \t Average \n");
System.out.println(student1.getName() + "\t" + student1.gradesF[0] +"\t" +student1.gradesF[1]+"\t" +student1.gradesF[2] +"\t" + student1.gradesF[3] + student1.average + "\n");
System.out.println("Average\t\t" + grade1A + "\t" + grade2A + "\t" + grade3A + "\t" + grade4A + "\t" + averageA + "\n");
}}
В моем основном я пытаюсь вызвать другой экземпляр класса. Что ему нужно сделать, так это взять количество участников, их имена, сколько у них оценок, их оценки, ввести все оценки в массив, отправить имя вместе с оценками в gradeClass и позволить мне вызывать и использовать их оттуда .
gradeClass student1 = new gradeClass(nameI, gradeArray[0],gradeArray[1],gradeArray[2],gradeArray[3]);
когда я пытаюсь использовать это, он сообщает мне, что мне нужна переменная
gradeClass student1;
student1 = new gradeClass(nameI, gradeArray[0],gradeArray[1],gradeArray[2],gradeArray[3]);
, а затем он говорит мне инициализировать student1, чтобы
gradeClass student1 = null;
из здесь я получаю "java .lang.NullPointerException
любые идеи? Ошибка вызывается по адресу
student1 = new gradeClass(nameI, gradeArray[0],gradeArray[1],gradeArray[2],gradeArray[3]);