zwracanie odpowiedniej końcówki wyrazu

0

Muszę wyświetlić odpowiednią końcówkę wyrazu punkt w zależności od zdobytych punktów np. "Zdobyłeś 1 punkt"", zdobyłeś 2 punkt"Y", zdobyłeś 17 punkt"ÓW"

Można to zrobić mechanicznie na zasadzie:

public String koncowka(int p) {
		if (p == 1)
			return "";
		if (p == 0 || (p >= 15 && p <= 21) || (p >= 25 && p <= 31)
				|| (p >= 35 && p <= 41) || (p >= 45 && p <= 51)
				|| (p >= 55 && p <= 61) || (p >= 65 && p <= 71)
				|| (p >= 75 && p <= 81) || (p >= 85 && p <= 91)
			return "ów";

		return "y"; 

bo ilość punktów jest skończona, ale takie rozwiązanie jest chyba mało inżynierskie i eleganckie.. Ktoś ma pomysł?

1

Ja wymyśliłem takie rozwiązanie :

public static String koncowka(int p) {
        String s = p+"";
        if (s =="1")
            return "";
        if (s.endsWith("12") || s.endsWith("13") || s.endsWith("14"))
            return "ów";
        if(s.charAt(s.length()-1)=='2' || s.charAt(s.length()-1)=='3' || s.charAt(s.length()-1)=='4')
            return "y";
        return "ów";  
     }
0

Że też nie sprawdziłem, że w klasie String jest metoda endsWith ;) Dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1