Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Scanner;
- public class Card
- {
- private String cardRank;
- private String cardSuit;
- private boolean correct;
- public Card(String s){
- this.correct = validateCard(s);
- }
- private boolean validateCard(String s){
- if(!s.contains("-")){
- System.out.println("Invalid entry. Try again.");
- return false;
- }
- int dashIndex = s.indexOf("-");
- String rankInput = s.substring(0, dashIndex);
- String suitInput = s.substring(dashIndex + 1);
- this.cardRank = rankInput;
- this.cardSuit = suitInput;
- int cardLength = s.length();
- if(s == null){
- System.out.println("No entry. Please type in card.");
- return false;
- }
- if(cardLength < 2 || cardLength > 4){
- System.out.println("Invalid entry. Try again.");
- return false;
- }
- if(!suitDefine(suitInput)){
- System.out.println("Invalid suit. Try again.");
- return false;
- }
- else if(!rankDefine(rankInput)){
- System.out.println("Invalid rank. Try again.");
- return false;
- }
- return true;
- }
- public boolean isValid(){
- return correct;
- }
- public int getNumCardValues(){
- if(cardRank.equals("A") || cardRank.equals("a")){
- return 2;
- }
- return 1;
- }
- public int getCardValue(int index){
- if(cardRank.equals("A") || cardRank.equals("a")){
- if(index == 1){
- return 1;
- }
- else if(index == 2){
- return 11;
- }
- return -1;
- }
- if(index == 1){
- return 1;
- }
- if(cardRank.equals("J") || cardRank.equals("j")){
- return 10;
- }
- else if(cardRank.equals("Q") || cardRank.equals("q")){
- return 10;
- }
- else if(cardRank.equals("K") || cardRank.equals("k")){
- return 10;
- }
- return Integer.parseInt(cardRank);
- }
- public boolean isJack(){
- if(true){
- return cardRank.equals("J") || cardRank.equals("j");
- }
- else{
- return false;
- }
- }
- public boolean isAce(){
- if(true){
- return cardRank.equals("A") || cardRank.equals("a");
- }
- else{
- return false;
- }
- }
- public int getCardSuit(){
- if(cardSuit.equals("C") || cardSuit.equals("c")){
- return 1;
- }
- else if(cardSuit.equals("D") || cardSuit.equals("d")){
- return 2;
- }
- else if(cardSuit.equals("H") || cardSuit.equals("h")){
- return 3;
- }
- else if(cardSuit.equals("S") || cardSuit.equals("s")){
- return 4;
- }
- return -1;
- }
- public int getCardRank(){
- if(cardRank.equals("J") || cardRank.equals("j")){
- return 10;
- }
- else if(cardRank.equals("Q") || cardRank.equals("q")){
- return 10;
- }
- else if(cardRank.equals("K") || cardRank.equals("k")){
- return 10;
- }
- else if(cardRank.equals("A") || cardRank.equals("a")){
- return 11;
- }
- return Integer.parseInt(cardRank);
- }
- public boolean rankDefine(String cardRank){
- String[] rankArray = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "j", "q", "k", "a"};
- for(int i = 0; i < rankArray.length; i++){
- if(cardRank.equals(rankArray[i])){
- return true;
- }
- }
- return false;
- }
- public boolean suitDefine(String cardSuit){
- String[] suitArray = {"C", "c", "D", "d", "H", "h", "S", "s"};
- for(int i = 0; i < suitArray.length; i++){
- if(cardSuit.equals(suitArray[i])){
- return true;
- }
- }
- return false;
- }
- public boolean equals(Card c){
- if(getCardRank() == c.getCardRank() && getCardSuit() == c.getCardSuit()){
- return true;
- }
- else{
- return false;
- }
- }
- public String toString(){
- String[] rankName = {"Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Ace", "Jack", "Queen", "King", "Ace"};
- String[] rankArray = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "j", "q", "k", "a"};
- String[] suitName = {"Clubs", "Clubs", "Spades", "Spades", "Diamonds", "Diamonds", "Hearts", "Hearts"};
- String[] suitArray = {"C", "c", "S", "s", "D", "d", "H", "h"};
- String printRank = " ";
- String printSuit = " ";
- for(int i = 0; i < rankName.length; i++){
- if(cardRank.equals(rankArray[i])){
- printRank = rankName[i];
- }
- }
- for(int i = 0; i < suitName.length; i++){
- if(cardSuit.equals(suitArray[i])){
- printSuit = suitName[i];
- }
- }
- return printRank + " of " + printSuit + " (Value = " + getCardRank() + " )";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment