Witam,
piszę kod programu który ma wczytać od użytkownika wiek a następnie wyświetlić na ekranie informację w jakiej fazie życia aktualnie znajduję się użytkownik.
Do pobrania danych od użytkownika użyłem scanner pobrany typ danych int, zaś dla faz życia użyłem typu enum. Niestety nie działa...
Mógłby ktoś podpowiedzieć mi co robię nie tak? Tak naprawdę dopiero zaczynam swoją przygodę z java.
Mój kod:
package com.company;
public enum Phase {
BABY(0),
CHILD(1),
YOUTH(13),
ADULT_18_25(18),
ADULT_26_35(26),
ADULT_36_45(36),
ADULT_46_55(46),
ADULT_56_65(56),
SENIOR(66);
private int value;
Phase(int value) {
this.value = value;
}
public int getPhase() {
if ((value > BABY) && (value < CHILD))
return BABY;
else if ((value >= CHILD) && (value < YOUTH))
return CHILD;
else if ((value >= YOUTH) && (value < ADULT_18_25))
return YOUTH;
else if ((value >= ADULT_18_25) && (value < ADULT_26_35))
return ADULT_18_25;
else if ((value >= ADULT_26_35) && (value < ADULT_36_45))
return ADULT_26_35;
else if ((value >= ADULT_36_45) && (value < ADULT_46_55))
return ADULT_36_45;
else if ((value >= ADULT_46_55) && (value < ADULT_56_65))
return ADULT_46_55;
else if ((value >= ADULT_56_65) && (value < SENIOR))
return ADULT_56_65;
else if ((value > SENIOR))
return SENIOR;
}
}
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.printf("Wprowadz wiek: ");
int age = scanner.nextInt();
Phase phase = new Phase(age);
phase.getPhase();
switch(age) {
case Phase.BABY:
System.out.printf("Jestes w fazie niemowle");
break;
case Phase.CHILD:
System.out.printf("Jestes w fazie dziecko");
break;
case Phase.YOUTH:
System.out.println("Jestes w fazie mlodziez");
break;
case Phase.ADULT_18_25:
System.out.println("Jestes w wieku 18 - 25");
break;
case Phase.ADULT_26_35:
System.out.println("Jestes w wieku 26 - 35");
break;
case Phase.ADULT_36_45:
System.out.println("Jestes w wieku 36 - 45");
break;
case Phase.ADULT_46_55:
System.out.println("Jestes w wieku 46 - 55");
break;
case Phase.ADULT_56_65:
System.out.println("Jestes w wieku 56 - 65");
break;
case Phase.SENIOR:
System.out.println("Masz powyzej 65");
break;
default:
break;
}
}
}