package calculatorea;

import java.util.HashMap;

public class DadosUtils {
    private HashMap<Object, Integer> map;
    
    public DadosUtils() {
        map = new HashMap<>();
    }
    
    public void add(Object o){
        if(!map.containsKey(o)){
            map.put(o, 0);
        }
        map.put(o, map.get(o)+1);
    }
    
    public int getTimes(Dado... dados){
        try{
            int times = -1;
        
        
        for (Dado dado : dados) {
            int aux = (map.get(dado.getVal()) / dado.times);
            if(aux < times || times == -1){
                times = aux;
            }
        }
         
        return times;
        }catch(Exception e){
            return 0;
        }
    }
    
    public class Dado {
        private int val, times;

        public Dado(int val, int times) {
            this.val = val;
            this.times = times;
        }

        public int getVal() {
            return val;
        }

        public void setVal(int val) {
            this.val = val;
        }

        public int getTimes() {
            return times;
        }

        public void setTimes(int times) {
            this.times = times;
        }
        
    }
    
    public Dado newDado(int val, int times){
        return new Dado(val, times);
    }
}
