Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
m1h2k3
Člen
Avatar
m1h2k3:26. března 14:34

Ahoj, potřeboval bych poradit. Nevím, jak mám udělat pořadí

Zkusil jsem: enum Days {
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
}
public static void main(String[] args) {
Days today = Days.Wednesday;
System.out.prin­tln("Today = " + today);

Chci docílit: "Naprogramujte jednoduchý program. Program bude obsahovat výčtové pole enum. Výčtové pole bude obsahovat dny v týdnu. Program vytiskne o jaký den se jedná a poté vytiskne pozici dne ve výčtovém poli. Dejte pozor na indexaci prvků v rámci pole,,
Takhle jsem to dostal za DÚ a nemůžu přijít na způsob, který by mi nevyhodil chybu

 
Odpovědět
26. března 14:34
Avatar
Odpovídá na m1h2k3
Matúš Olejník:26. března 15:33

Ahoj, ak ich do enumu dáš presne v poradí ako idú za sebou tak môžeš použiť priamo metódu enumu - ordinal()

System.out.println(DayEnu.Wednesday.name());
System.out.println(DayEnu.Wednesday.ordinal() + 1); // +1 lebo indexy začínajú od 0

java.lang.Enum<E extends Enum<E>>
public final int ordinal()
Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero). Most programmers will have no use for this method. It is designed for use by sophisticated enum-based data structures, such as EnumSet and EnumMap.
Returns:
the ordinal of this enumeration constant

Ak chceš napr. vlastné poradie môžeš týmto spôsobom

enum DayEnu {
        Monday(11),
        Wednesday(333),
        Tuesday(22),
        Friday(5),
        Thursday(4),
        Saturday(6),
        Sunday(7),
        ;

        private final int rank;

        DayEnu(int rank) {
            this.rank = rank;
        }

        public int getRank() {
            return rank;
        }
    }
....
....
System.out.println(DayEnu.Wednesday.getRank()); //vypíše 333
Editováno 26. března 15:34
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
26. března 15:33
/* I am not sure why this works but it fixes the problem */
Avatar
m1h2k3
Člen
Avatar
m1h2k3:26. března 16:18

děkuji mnohokrát :)

 
Nahoru Odpovědět
26. března 16:18
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Matúš Olejník
Lubor Pešek:26. března 17:21

Sice zbytečně to psát, ale hezky a přehledně napsané + krásný příklad. Hezká práce.

Nahoru Odpovědět
26. března 17:21
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Lubor Pešek
Matúš Olejník:26. března 17:24

Ďakujem, ale od tvojho vysvetľovania mám ešte ďaleko :D

Nahoru Odpovědět
26. března 17:24
/* I am not sure why this works but it fixes the problem */
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Matúš Olejník
Lubor Pešek:26. března 17:42

Chceš říct moje slohy?:D:D

Nahoru Odpovědět
26. března 17:42
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovídá na Lubor Pešek
Matúš Olejník:26. března 17:56

:D hej, ale chcel som tým povedať, že sú kvalitné :)

Nahoru Odpovědět
26. března 17:56
/* I am not sure why this works but it fixes the problem */
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Matúš Olejník
Lubor Pešek:26. března 18:21

No jak kdy.... s těmi verzemi Javy jsem se pěkně spálil :( O to horší bylo, že jsem na svém stanovisku trval :(

Nahoru Odpovědět
26. března 18:21
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.