Я пытаюсь создать программу, в которую вы можете добавить информацию об ученике с их адресом. Для этого я создал 2 класса, класс Student и класс Adres (голландский для адреса). В классе Adres у меня есть данные об адресе, а в Student - данные об ученике.
Но я застреваю при создании конструктора для моего класса ученика, потому что когда вы добавляете нового ученика, адрес этого ученика также должен быть добавлен.
И я пытаюсь используйте метод toString в Student, но адрес должен быть возвращен также.
Итак, у меня есть 3 вопроса:
- Как настроить конструктор для класса Student, где также необходимо добавить адрес
- Как настроить toString метод, в котором он также возвращает «toString» из адреса.
- Как мне ввести LocalDate и адрес при добавлении нового студента. (localdate используется для дня рождения студентов)
Я довольно новичок в java, и если бы кто-то мог мне помочь, это было бы здорово.
Мой класс Adres:
package oop3.studenten;
public class Adres {
private String straat;
private Integer huisnr;
private String postcode;
private String plaats;
public Adres(String straat, Integer huisnr, String postcode, String plaats) {
this.straat = straat;
this.huisnr = huisnr;
this.postcode = postcode;
this.plaats = plaats;
}
public String toString() {
return straat + "" + huisnr + "," + postcode + "" + plaats;
}
// Using regex to check if postcode is valid
public static boolean checkPostcode(String postCode) {
return postCode.matches("[1-9][0-9]{3}[a-zA-Z]{2}");
}
}
Мой класс ученика:
package oop3.studenten;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Student {
private Integer studentnr; //StudentId
private String voornaam; //Firstname
private String achternaam; //Lastname
private LocalDate geboortedatum; //Birthday
private Adres adres; //address
// constructor for Student
public Student(Integer studentnr, String voornaam, String achternaam, LocalDate geboortedatum, Adres adres){
this.studentnr = studentnr;
this.voornaam = voornaam;
this.achternaam = achternaam;
this.geboortedatum = geboortedatum;
this.adres = new Adres();
}
// toString method for Student
@Override
public String toString() {
return "Student{" +
"studentnr=" + studentnr +
", voornaam='" + voornaam + '\'' +
", achternaam='" + achternaam + '\'' +
", geboortedatum=" + korteGeboortedatum(geboortedatum) +
", adres=" + adres +
'}';
}
// method to return birthday (geboortedatum) in day month year format
public String korteGeboortedatum(LocalDate gebdatum ){
return gebdatum.format(DateTimeFormatter.ofPattern("dd-MM-yyyy"));
}
}
И мой основной класс, где я пытаюсь добавить студента
package oop3.studenten;
public class Main {
public static void main(String[] args) {
Student student = new Student(500739074, "Ronny", "Giezen", 22111997, "?"
);
}
}
Заранее спасибо