Существует ошибку я получаюМетод возвращение ошибки нулевого указателя
Exception in thread "main" java.lang.NullPointerException
at StudentGrades.getMinimum(StudentGrades.java:54)
at StudentClient.main(StudentClient.java:14)
я не нашел метод, который я установить нуль.
Я пробовал использовать медианный метод, но по-прежнему получает эту ошибку.
import java.util.Arrays;
import java.util.Random;
public class StudentGrades {
Random randomNumber = new Random();
int numberofStudents;
int grade;
int[] grades;
int sum = 0;
public StudentGrades(int studentNumber) {
numberofStudents = studentNumber;
int[] grades = new int[numberofStudents];
for (int i = 0; i < numberofStudents; i++) {
grades[i] = randomNumber.nextInt(101);
Arrays.sort(grades);
}
}
public int getNumberStudents() {
return numberofStudents;
}
public int[] getStudentGrades() {
int[] temp = new int[grades.length];
for (int i = 0; i < grades.length; i++) {
temp[i] = grades[i];
}
return temp;
}
public void setStudentGrades(int n) {
grade = n;
}
public double getAverage() {
for (int i = 0; i < grades.length; i++) {
sum = +grades[i];
}
double average = (double) sum/numberofStudents;
return average;
}
public int getMaximum() {
int max = grades[0];
for (int i = 0; i < grades.length; i++) {
if (grades[i] > grades[max])
max = grades[i];
}
return max;
}
public int getMinimum() {
int min = grades[0];
for (int i = 0; i < grades.length; i++) {
if (grades[i] < grades[min])
min = grades[i];
}
return min;
}
public String toString() {
String returnString = "grades :";
for (int i = 0; i < grades.length; i++) {
returnString += grades[i];
}
return returnString;
}
public double getMedian() {
double median = 0;
if (grades.length % 2 == 0) {
median = (grades[grades.length/2] + grades[(grades.length/2) + 1])/2;
} else
median = grades[((grades.length - 1)/2) + 1];
return median;
}
}
Вам нужно снова взглянуть на ваш метод getMinimum, я не думаю, что он делает то, что, по вашему мнению, делает – Floegipoky
Кроме того, getMaximum имеет ту же проблему, и я не думаю, что вы хотели написать 'sum = + grade [ i]; 'в getAverage либо – Floegipoky
Ваш int min = оценки [0]; в getMinimum может установить min, чтобы сказать 50, если это действительный класс. Затем, когда вы просматриваете минимум в цикле, вы ссылаетесь на оценки [min], которые дадут вам оценки [50] - 51-й элемент оценок, что почти наверняка не то, что вы хотите. Просто положить оценки [i] <мин должен работать. – Bruce