forked from dr-cs/intro-oop-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCard5.java
More file actions
51 lines (41 loc) · 1.22 KB
/
Card5.java
File metadata and controls
51 lines (41 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.util.Arrays;
public class Card5 {
private final String[] VALID_RANKS =
{"2", "3", "4", "5", "6", "7", "8", "9",
"10", "jack", "queen", "king", "ace"};
private final String[] VALID_SUITS =
{"diamonds", "clubs", "hearts","spades"};
private String rank;
private String suit;
public String toString() {
return rank + " of " + suit;
}
public void setRank(String rank) {
if (!isValidRank(rank)) {
System.out.println(rank + " is not a valid rank.");
System.exit(0);
}
this.rank = rank;
}
private boolean isValidRank(String someRank) {
return contains(VALID_RANKS, someRank);
}
public void setSuit(String suit) {
if (!isValidSuit(suit)) {
System.out.println(suit + " is not a valid suit.");
System.exit(0);
}
this.suit = suit;
}
private boolean isValidSuit(String someSuit) {
return contains(VALID_SUITS, someSuit);
}
private boolean contains(String[] array, String item) {
for (String element: array) {
if (element.equals(item)) {
return true;
}
}
return false;
}
}