Ich versuche, zwei Klassen mit jeder Klasse hat eine Instantiierung einer anderen Klasse, aber mit einem java.lang.StackOverFlowError
. Die erste Klasse sieht aus wie untenStackOverFlow Fehler bei Klassen
public class ReverseGPA {
GPpredictor gp_predictor = new GPpredictor(); //This is the line that causes error
double CURRENT_CREDITS;
double FUTURE_CREDITS;
double CUM_GPA;
double DESIRED_GPA;
double NEW_GRADE_POINT;
int ROUNDED_GRADE_POINT;
double NEW_GPS;
}
Und sieht die andere Klasse wie dieses
public class GPpredictor {
ReverseGPA rev_gpa = new ReverseGPA(); //This is the line that causes error
ArrayList<String> arrayCourseName = new ArrayList<>();
ArrayList<Integer> arrayCourseCredit = new ArrayList<>();
ArrayList<String> arrayCourseGrade = new ArrayList<>();
int COURSES;
int CREDIT;
String COURSENAME;
//For predicting purposes
int GRADE;
}
ich es so gemacht, weil ich die Methoden der Klasse ReverseGPA verwenden müssen, um in der Klasse GPpredictor verwendet werden (ich brauche die Gradierpunkte zu verwenden, durch die Getter-Methode verwendet wird)
Wird für alle Kommentare sehr dankbar sein und hilft
Hallo, ich danke Ihnen sehr
und
Und im Hauptverfahren tun für die schnelle Antwort! Allerdings habe ich dieses Problem. Die Klasse ReverseGPA hat eine Methode, die die GPpredictor-Methode aufruft. Während der GPpredictor über eine Methode verfügt, die ReverseGPA-Werte benötigt. Also ist die Lösung, eine Instanz jeder Klasse zu erstellen, nein? Fehle ich etwas? Sehr dankbar für Ihre Antwort, Entschuldigung für Ihre Zeit – Adam
@ user3764392: ja, ich habe Ihnen bereits gesagt, was Sie tun sollten. Sie können nicht beide Instanzen in jeder Klasse erstellen, sondern stattdessen mindestens eine Instanz in die andere übergeben. –
Vielen Dank, das hat das Problem gelöst! – Adam