NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Metoda, vysvětlení? Prosím.

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Qestin
Člen
Avatar
Qestin:19.5.2017 20:15

Dobrý den,

mohl by mi někdo polopatě vysvětlit tuto metodu? Děkuji za odpověď a přeji hezký večer.

    public String vypoctiCelkovy(Integer year, Object month, Object category) {
        nactenyUdaj = Vydaj.nactiSoubor();
        ArrayList<Vydaj> filter1 = new ArrayList<>();
        ArrayList<Vydaj> filter2 = new ArrayList<>();
        ArrayList<Vydaj> filter3 = new ArrayList<>();
        Double suma;

        if(!month.equals("Vyber měsíc") & !category.equals("Vyber kategorii") ){
           suma = 0.0;
            for(Vydaj v : nactenyUdaj){
               if((Mesic)month == v.mesic  & (Kategorie)category == v.kategorie & year == v.rok)
                   filter1.add(v);
            }
           for(Vydaj v : filter1)
                   suma += v.hodnota;

           suma = Math.floor(suma * 100) / 100;
           return suma.toString();
        }
        else if (!month.equals("Vyber měsíc")){
            suma = 0.0;
           for(Vydaj v : nactenyUdaj){
               if((Mesic)month == v.mesic & year == v.rok)
                  filter2.add(v);
           }
           for(Vydaj v : filter2)
                  suma += v.hodnota;

           suma = Math.floor(suma * 100) / 100;
           return suma.toString();
        }
        else {
            suma = 0.0;
            for(Vydaj v : nactenyUdaj){
                if((Kategorie)category == v.kategorie & year == v.rok)
                  filter3.add(v);
            }
           for(Vydaj v : filter3)
                  suma += v.hodnota;

           suma = Math.floor(suma * 100) / 100;
           return suma.toString();
        }
    }

}
 
Odpovědět
19.5.2017 20:15
Avatar
rdaek
Člen
Avatar
rdaek:20.5.2017 7:51

Metoda vypočítá celkové výdaje na základě zadaných parametrů ;) první if platí pokud je vybraný měsíc a kategorie - poté se ze všech výdajů vyberou pouze ty, ktere odpovídají měsíci a kategorii a v druhém foru se sečte jejich suma. Elseif vybira pouze na zaklade měsíce jinak uvnitř funguje stejne a poslední else vybere na zaklade kategorie ;) metoda vrátí sumu vydaju ;)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
20.5.2017 7:51
Důležité je udělat program blbuvzdorným... Je pravda že mi často dost vzdorují :D
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 2 zpráv z 2.