Próbuję utworzyć dwie klasy z każdą klasą, która ma instancję innej klasy, ale havaing a java.lang.StackOverFlowError
. Pierwsza klasa wygląda jak poniżejBłąd StackOverFlow na zajęciach
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;
}
A druga klasa wygląda to
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;
}
zrobiłem to w ten sposób, ponieważ trzeba użyć metody z klasy ReverseGPA być stosowane w klasie GPpredictor (muszę korzystać z punktów klasy, stosując metodę getter)
będzie bardzo wdzięczny za wszelkie uwagi i pomaga
Witam, dziękuję bardzo za szybka odpowiedź! Mam jednak ten problem. Klasa ReverseGPA ma metodę, która wywołuje metodę GPpredictor. Podczas GPpredictor mają metodę, która potrzebuje wartości ReverseGPA. Więc rozwiązaniem jest stworzenie instancji każdej klasy nie? Czy czegoś brakuje? Bardzo wdzięczny za twoją odpowiedź, przepraszam za poświęcenie ci czasu – Adam
@ user3764392: tak, już ci powiedziałem, co powinieneś zrobić. Nie możesz utworzyć obu instancji w każdej klasie, dlatego zamiast tego przenieś co najmniej jedną instancję do drugiej. –
dziękuję bardzo, że rozwiązał problem! – Adam