Card.java (1153B)
1 package lucky_card; 2 3 public class Card { 4 private String suit; 5 private String rank; 6 private int value; 7 8 //constructor 9 public Card(String suit, String rank) { 10 this.suit = suit; 11 this.rank = rank; 12 value = generateCardValue(); 13 } 14 15 //return the cards suit 16 String getSuit() { 17 return this.suit; 18 } 19 20 //return the cards rank 21 String getRank() { 22 return this.rank; 23 } 24 25 //return the cards value 26 int getValue() { 27 return this.value; 28 } 29 30 //calculate each cards value based on suit and rank 31 private int generateCardValue() { 32 int value = 0; //holds the current cards value 33 34 //add "bonus" based on card suit 35 switch(suit) { 36 case ("Diamonds"): 37 value += 4; 38 break; 39 case ("Clubs"): 40 value += 6; 41 break; 42 case ("Hearts"): 43 value += 8; 44 break; 45 case ("Spades"): 46 value += 10; 47 break; 48 } 49 50 //add value based on cards "base value" 51 switch(rank) { 52 case("Ace"): 53 value += 1; 54 break; 55 case("Jack"): 56 value += 11; 57 break; 58 case("Queen"): 59 value += 12; 60 break; 61 case("King"): 62 value += 13; 63 break; 64 default: 65 value+= Integer.parseInt(rank); 66 67 } 68 return value; 69 } 70 }