Witam!
Proszę o ocenę krótkiego programu obiektowego w Java. Program w przyszłości chcę rozwinąć aby można było zrobić plik w którym zapisywani są członkowie rodziny, na razie program tylko tworzy nowego członka. Poniżej kod
import java.time.*;
import java.util.Calendar;
import java.util.Scanner;
public class Family {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int actualYear = Calendar.getInstance().get(Calendar.YEAR);
String name;
int year;
int month;
int day;
System.out.println("Podaj imię i nazwisko nowego członka w następującej postaci: Jan Kowalski");
name = input.nextLine();
System.out.println("Podaj rok urodzenia");
year = input.nextInt();
while(year < 1 || year > actualYear) {
System.out.println("Podałeś nieprawidłowy rok, spróbuj jeszcze raz");
year = input.nextInt();
}
System.out.println("Podaj miesiąc urodzenia");
int lengthOfMonth;
month = input.nextInt();
while(month > 12 || month < 1) {
System.out.println("Podałeś nieprawidłowy miesiąc, spróbuj jeszcze raz");
month = input.nextInt();
}
if(month == 1) {
Month birthMonth = Month.JANUARY;
lengthOfMonth = birthMonth.length(false);
}else if(month == 2) {
Month birthMonth = Month.FEBRUARY;
lengthOfMonth = birthMonth.length(false);
}else if(month == 3) {
Month birthMonth = Month.MARCH;
lengthOfMonth = birthMonth.length(false);
}else if(month == 4) {
Month birthMonth = Month.APRIL;
lengthOfMonth = birthMonth.length(false);
}else if(month == 5) {
Month birthMonth = Month.MAY;
lengthOfMonth = birthMonth.length(false);
}else if(month == 6) {
Month birthMonth = Month.JUNE;
lengthOfMonth = birthMonth.length(false);
}else if(month == 7) {
Month birthMonth = Month.JULY;
lengthOfMonth = birthMonth.length(false);
}else if(month == 8) {
Month birthMonth = Month.AUGUST;
lengthOfMonth = birthMonth.length(false);
}else if(month == 9) {
Month birthMonth = Month.SEPTEMBER;
lengthOfMonth = birthMonth.length(false);
}else if(month == 10) {
Month birthMonth = Month.OCTOBER;
lengthOfMonth = birthMonth.length(false);
}else if(month == 11) {
Month birthMonth = Month.NOVEMBER;
lengthOfMonth = birthMonth.length(false);
}else{
Month birthMonth = Month.DECEMBER;
lengthOfMonth = birthMonth.length(false);
}
System.out.println("Podaj dzień urodzenia");
day = input.nextInt();
while(day > lengthOfMonth || day < 1) {
System.out.println("Podałeś nieprawidłowy dzień, spróbuj jeszcze raz");
day = input.nextInt();
}
Member member = new Member(name, year, month, day);
System.out.println("Imię i nazwisko: " + member.getName() + ", data urodzenia: " + member.getHireDay());
}
}
class Member{
private String name;
private LocalDate hireDay;
public Member(String n, int year, int month, int day) {
name = n;
hireDay = LocalDate.of(year, month, day);
}
public String getName() {
return name;
}
public LocalDate getHireDay() {
return hireDay;
}
}
Rady i uwagi mile widziane.