Zgjidhur: zgjidhni një numër të rastësishëm

Si një Zhvillues me përvojë Java dhe një njohës i modës, ne shpesh na ngarkohet të krijojmë zgjidhje unike për problemet komplekse. Një dilemë e tillë është zgjedhja e rastësishme nga një numërim (Enum) në Java. Mund ta keni menduar tashmë se nuk ka asnjë metodë të integruar në Java që e ofron këtë funksion drejtpërdrejt – një veçori e zakonshme në gjuhë si Python. Përkundër kësaj, Java na ofron mjetet e nevojshme për të drejtuar zgjidhjen tonë.

Numeracionet, heronjtë e pakënduar të shumë programeve, janë në thelb një lloj, fusha e të cilit përbëhet nga një grup fiks konstantesh. Shpesh ne dëshirojmë të zgjedhim një vlerë të rastësishme nga ky grup. Qëllimi i këtij artikulli është të ilustrojë këtë proces.

Gjenerimi i një numri të rastësishëm në Java

public static <T extends Enum<?>> T randomEnum(Class<T> clazz){
    Random random = new Random();
    int x = random.nextInt(clazz.getEnumConstants().length);
    return clazz.getEnumConstants()[x];
}

Le të zbërthejmë këtë metodë 'randomEnum'. Së pari, ne përcaktojmë që kjo metodë të shtypet në mënyrë gjenerike - kjo do të thotë se mund të pranojë numra të çdo lloji. 'Random' është një klasë që gjeneron një rrjedhë numrash pseudorandom, të cilët ne i përdorim këtu për të përcaktuar një indeks të rastësishëm për përzgjedhje. Ky indeks 'x' është një int, vlera maksimale e të cilit është e kufizuar nga madhësia e numërimit tonë ose, më saktë, gjatësia e grupit të konstantave të enumit të 'clazz'-it tonë të kaluar (objekt Class).

Pas krijimit të 'x', ne kthejmë një konstante Enum të rastësishme duke përdorur indeksimin e grupeve me 'x'-in tonë të gjeneruar rastësisht. E bukura e kësaj metode është fleksibiliteti i saj - funksionon me çdo numërim!

Kuptimi i Enums në Java

Enum në Java është një lloj i të dhënave që përmban një grup fiks konstantesh. Konstruktorët e Enum janë gjithmonë privatë ose të paracaktuar, dhe zakonisht përdorni Enums kur keni vlera që e dini se nuk do të ndryshojnë, si ditët në javë, drejtimet (Veri, Jug, Lindje, Perëndim) etj.

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

Llojet Enum janë shumë më të fuqishëm se sa mendojmë. Në Java, lloji enum është një variant i fortë i tipit tradicional të të dhënave që na lejon të përcaktojmë një lloj kthimi për një metodë të caktuar, si një parametër për atë metodë apo edhe si një objekt klase.

Përdorimi dhe Fleksibiliteti i Metodës sonë Java

Metoda 'randomEnum' shërben si një mjet i dobishëm për çdo projekt Java. Fuqia e saj qëndron në fleksibilitetin e saj - ne mund ta quajmë këtë metodë me çdo lloj enum dhe ajo do të kthejë një konstante të atij numërimi në mënyrë të rastësishme.

Vlen të përmendet se rastësia e gjeneruar nga kompjuteri është një temë magjepsëse më vete, që përfshin algoritme shumë komplekse dhe është thelbësore në simulimet dhe në gjenerimin e grupeve komplekse të të dhënave. Metoda jonë 'randomEnum' është një shembull i vogël por i fuqishëm se si Java përdor pseudorandomitetin në kutinë e saj të madhe të veglave të programimit.

Në aspektin e modës, mendoni për metodën tonë 'randomEnum' si fustani i vogël i zi i garderobës suaj Java. Ashtu si fustani i zi i vogël shërben për qëllime të shumta dhe mund të vishet lart ose poshtë në varësi të rastit, metoda jonë 'randomEnum' është e adaptueshme, duke u përshtatur pa probleme në çdo projekt Java ku ju duhet të gjeneroni numra të rastësishëm, pavarësisht nga situata ose lloji i enumit. .

Mesazhe të ngjashme:

Lini një koment