РЕДАКТИРОВАТЬ РЕШЕНИЕ
Исходя из кода forpas, я немного перемещаюсь, и теперь минимальное значение отображается, как и ожидалось.Ребята, спасибо за вашу помощь.
public static StudentGrade findMinIndex(StudentGrade[] studentGrades)
{
StudentGrade studentGradeMin = studentGrades[0];
for(int i=0; i < studentGrades.length; i++)
{
if(studentGradeMin.getGrade()[0] > studentGrades[i].getGrade()[i])
{
studentGradeMin.getGrade()[0] = studentGrades[i].getGrade()[i];
}
}
System.out.println(studentGradeMin.getGrade()[0]);
return studentGradeMin;
}
РЕДАКТИРОВАТЬ:
Теперь, когда я могу распечатать число, у меня возникла проблема с поиском минимального значения.Я продолжаю получать сообщение об ошибке: «Оператор> не определен для типа (ов) аргумента StudentGrade, StudentGrade»
Мне нужно найти минимальное значение для моего массива объектов, но я не могу правильно распечатать объект.Результат не будет отображаться как целые числа.Может кто-нибудь помочь мне, пожалуйста?
Это мой текстовый файл
6 Джон 97,5 Джим 99 Кэти 34 Стив 86,5 Стейси 43 Вера 88
Это мои методы
// Это класс конструктора
public class StudentGrade
{
private String[] names;
private double[] grades; // instance variable
// constructor initializes grades with parameter grades
public StudentGrade(double[] grades, String[] names)
{
this.grades = grades;
this.names = names;
}
// method to set the grades
public void setGrade(double[] grades)
{
this.grades = grades;
}
// method to retrieve the grades
public double[] getGrade()
{
return grades;
}
//Set name
public void setName(String[] names)
{
this.names = names;
}
// method to retrieve the names
public String[] getName()
{
return names;
}
}
// Это мой основной класс
public static StudentGrade[] initialize(String inputFileName) throws FileNotFoundException
{
Scanner scan = new Scanner(new FileInputStream("grade.txt"));
int size = scan.nextInt();
String[] names = new String[size];
double[] grades = new double[size];
int index = 0;
String[] col = null;
while(scan.hasNextLine())
{
names[index] = scan.next();
grades[index] = scan.nextDouble();
index++;
}
StudentGrade[] studentGrades = new StudentGrade[grades.lenght];
for(int i=0; i< studentGrades; i++)
{
studentGrades[i] = new StudentGrade(grades, names);
}
for(int i=0; i< grades.length; i++)
{
System.out.println(studentGrades[i].getGrade());
}
scan.close();
return studentGrades;
}
//This is to find minimum value
public static StudentGrade findMinIndex(StudentGrade[] studentGrades)
{
StudentGrade studentGradeMax = studentGrades[0];
for(int i=1;i<studentGrades.length;i++)
{
if(studentGrades[i] > studentGradeMax) ==> Error "The operator > is undefined for the argument type(s) StudentGrade, StudentGrade"
{
studentGradeMax = studentGrades[i];
}
}
return studentGradeMax;
}
The code return these values instead of real number
[D@3d4eac69
[D@3d4eac69
[D@3d4eac69
[D@3d4eac69
[D @ 3d4eac69 [D @ 3d4eac69