Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

Java Java Metoda, vysvětlení? Prosím.

Aktivity (1)
Avatar
Qestin
Člen
Avatar
Qestin:19. května 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. května 20:15
Avatar
rdaek
Člen
Avatar
rdaek:20. května 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í
+1 bodů
Řešení problému
Nahoru Odpovědět 20. května 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.