Karte.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package cards;
  2. public class Karte {
  3. public enum Farbe {
  4. KREUZ, PIK, KARO, HERZ;
  5. }
  6. private static final int MIN_WERT = 2;
  7. private static final int MAX_WERT = 14;
  8. private int wert;
  9. private Farbe farbe;
  10. public Karte(Farbe farbe, int wert) {
  11. setFarbe(farbe);
  12. setWert(wert);
  13. }
  14. public int getWert() {
  15. return wert;
  16. }
  17. public void setWert(int wert) {
  18. validateWert(wert);
  19. this.wert = wert;
  20. }
  21. private void validateWert(int wert) {
  22. if (wert < MIN_WERT || wert > MAX_WERT)
  23. throw new RuntimeException(
  24. String.format("Unerlaubter Wert: %d. Der Wert muss zwischen %d und %d liegen.",
  25. wert, MIN_WERT, MAX_WERT));
  26. }
  27. public Farbe getFarbe() {
  28. return farbe;
  29. }
  30. public void setFarbe(Farbe farbe) {
  31. validateFarbe(farbe);
  32. this.farbe = farbe;
  33. }
  34. private void validateFarbe(Farbe farbe) {
  35. if (farbe == null)
  36. throw new RuntimeException("Farbe darf kein Null-Objekt sein");
  37. }
  38. }