Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Collections;
- import java.util.ArrayList;
- import java.util.Arrays;
- public class Loosiratas {
- private ArrayList<Külastaja> osalejad;
- public ArrayList<Külastaja> lisaKülastaja(String nimi, int külastusteArv){
- Külastaja külastaja=new Külastaja(nimi, külastusteArv);
- osalejad.add(külastaja);
- return osalejad;
- }
- public ArrayList<Külastaja> lisaKülastaja(Külastaja külastaja){
- osalejad.add(külastaja);
- return osalejad;
- }
- /*Meetod kõigeAktiivsemad(int n), peab seni registreeritud külastajate andmete põhjal tagastama listi n kõige
- aktiivsema külastajaga (või kõigi külastajatega, kui külastajaid on vähem, kui n). Seda on kõige lihtsam teha,
- kui külastajad järjestada külastuste arvu järgi. Järjestamiseks sobib näiteks klassi java.util.Collections meetod
- sort, aga selle kasutamiseks tuleb klassis Külastaja näidata, kuidas kahte isendit järjestuse mõttes võrrelda.
- (Tuletage siinkohal meelde ülaltoodud kolmnurkade võrdlemise näide! Teiseks pange tähele, et Collections.sort
- parameeteri tüüp on liides List. Kuna ArrayList realiseerib liidest List, on võimalik ka seda sorteerida.)*/
- public ArrayList<Külastaja> kõigeAktiivsemad(int n) {
- ArrayList<Külastaja> aktiivsemad = new ArrayList();
- Collections.sort(osalejad);
- Collections.reverse(osalejad);
- if (osalejad.size() > n) {
- for (int i = 0; i < n; i++) {
- aktiivsemad.add(osalejad.get(i));
- }
- return aktiivsemad;
- } else {
- return osalejad;
- }
- }
- /*Meetod loosiVõitja peab tagastama juhuslikult ühe külastaja 3 kõige aktiivsema külastaja seast (või kõigi
- külastajate seast, kui külastajaid on vähem kui 3).*/
- public Külastaja loosiVõitja(){
- if (kõigeAktiivsemad(3).size()<3){
- return(kõigeAktiivsemad(3).get[(int)Math.round(Math.random()*(kõigeAktiivsemad(3).size()-1)+1)]);
- }
- ArrayList<Külastaja> kolmEsimest = new ArrayList();
- kolmEsimest.add(kõigeAktiivsemad(3).get[0]);
- kolmEsimest.add(kõigeAktiivsemad(3).get[1]);
- kolmEsimest.add(kõigeAktiivsemad(3).get[2]);
- return(kolmEsimest.get[(int)Math.round(Math.random()*2+1)]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement