import java.util.*; public class Kaart{ private String tunnus; private static Map mastid=new HashMap(); private static Map korgused=new HashMap(); static{ mastid.put("H", "Ärtu"); mastid.put("S", "Poti"); mastid.put("D", "Ruutu"); mastid.put("C", "Risti"); for(int k=2; k<=10; k++){ korgused.put(String.valueOf(k), String.valueOf(k)); } korgused.put("J", "soldat"); korgused.put("Q", "emand"); korgused.put("K", "kuningas"); korgused.put("A", "äss"); } public static Set mastideTunnused(){return mastid.keySet();} public static Set korgusteTunnused(){return korgused.keySet();} public Kaart(String tunnus){ if(tunnus.length()==3){ if(!tunnus.substring(0, 2).equals("10")){ throw new RuntimeException("Vigane kaarditunnus "+tunnus); } } else if(tunnus.length()!=2){ throw new RuntimeException("Vigane tunnuse pikkus "+tunnus.length()); } this.tunnus=tunnus; } public String kysiMast(){ if(tunnus.length()==2){return tunnus.substring(1);} return tunnus.substring(2); } public String kysiMastEST(){ return mastid.get(kysiMast()); } public String kysiKorgus(){ if(tunnus.length()==2){return tunnus.substring(0, 1);} return tunnus.substring(0, 2); } public String kysiKorgusEST(){ return korgused.get(kysiKorgus()); } public String kirjeldusEST(){ return kysiMastEST()+" "+kysiKorgusEST(); } public boolean kasMoodustabPaari(Kaart k2){ return kysiKorgus().equals(k2.kysiKorgus()); } public boolean kasSamastMastist(Kaart k2){ return kysiMast().equals(k2.kysiMast()); } public String toString(){ return tunnus; } }