bazaba

Untitled

Oct 8th, 2025
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.35 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3. public class Card
  4. {
  5.     private String cardRank;
  6.     private String cardSuit;
  7.     private boolean correct;
  8.  
  9.     public Card(String s){
  10.         this.correct = validateCard(s);
  11.     }
  12.  
  13.     private boolean validateCard(String s){
  14.         if(!s.contains("-")){
  15.             System.out.println("Invalid entry. Try again.");
  16.             return false;
  17.         }
  18.        
  19.         int dashIndex = s.indexOf("-");
  20.         String rankInput = s.substring(0, dashIndex);
  21.         String suitInput = s.substring(dashIndex + 1);
  22.        
  23.         this.cardRank = rankInput;
  24.         this.cardSuit = suitInput;
  25.         int cardLength = s.length();
  26.  
  27.         if(s == null){
  28.             System.out.println("No entry. Please type in card.");
  29.             return false;
  30.         }
  31.  
  32.         if(cardLength < 2 || cardLength > 4){
  33.             System.out.println("Invalid entry. Try again.");
  34.             return false;
  35.         }
  36.        
  37.         if(!suitDefine(suitInput)){
  38.             System.out.println("Invalid suit. Try again.");
  39.             return false;
  40.         }
  41.         else if(!rankDefine(rankInput)){
  42.             System.out.println("Invalid rank. Try again.");
  43.             return false;
  44.         }
  45.  
  46.         return true;
  47.     }
  48.  
  49.     public boolean isValid(){
  50.         return correct;
  51.     }
  52.  
  53.     public int getNumCardValues(){
  54.         if(cardRank.equals("A") || cardRank.equals("a")){
  55.             return 2;
  56.         }
  57.        
  58.         return 1;
  59.     }
  60.  
  61.     public int getCardValue(int index){
  62.         if(cardRank.equals("A") || cardRank.equals("a")){
  63.  
  64.             if(index == 1){
  65.                 return 1;
  66.             }
  67.             else if(index == 2){
  68.                 return 11;
  69.             }
  70.  
  71.             return -1;
  72.         }
  73.  
  74.         if(index == 1){
  75.             return 1;
  76.         }
  77.  
  78.         if(cardRank.equals("J") || cardRank.equals("j")){
  79.             return 10;
  80.         }
  81.         else if(cardRank.equals("Q") || cardRank.equals("q")){
  82.             return 10;
  83.         }
  84.         else if(cardRank.equals("K") || cardRank.equals("k")){
  85.             return 10;
  86.         }
  87.  
  88.         return Integer.parseInt(cardRank);
  89.     }
  90.  
  91.     public boolean isJack(){
  92.         if(true){
  93.             return cardRank.equals("J") || cardRank.equals("j");
  94.         }
  95.         else{
  96.             return false;
  97.         }
  98.     }
  99.  
  100.     public boolean isAce(){
  101.         if(true){
  102.             return cardRank.equals("A") || cardRank.equals("a");
  103.         }
  104.         else{
  105.             return false;
  106.         }
  107.     }
  108.  
  109.     public int getCardSuit(){
  110.         if(cardSuit.equals("C") || cardSuit.equals("c")){
  111.             return 1;
  112.         }
  113.         else if(cardSuit.equals("D") || cardSuit.equals("d")){
  114.             return 2;
  115.         }
  116.         else if(cardSuit.equals("H") || cardSuit.equals("h")){
  117.             return 3;
  118.         }
  119.         else if(cardSuit.equals("S") || cardSuit.equals("s")){
  120.             return 4;
  121.         }
  122.  
  123.         return -1;
  124.     }
  125.    
  126.    
  127.     public int getCardRank(){
  128.        
  129.         if(cardRank.equals("J") || cardRank.equals("j")){
  130.             return 10;
  131.         }
  132.         else if(cardRank.equals("Q") || cardRank.equals("q")){
  133.             return 10;
  134.         }
  135.         else if(cardRank.equals("K") || cardRank.equals("k")){
  136.             return 10;
  137.         }
  138.         else if(cardRank.equals("A") || cardRank.equals("a")){
  139.             return 11;
  140.         }
  141.  
  142.         return Integer.parseInt(cardRank);
  143.     }
  144.  
  145.     public boolean rankDefine(String cardRank){
  146.         String[] rankArray = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "j", "q", "k", "a"};
  147.  
  148.         for(int i = 0; i < rankArray.length; i++){
  149.             if(cardRank.equals(rankArray[i])){
  150.                 return true;
  151.             }
  152.         }
  153.  
  154.         return false;
  155.     }
  156.  
  157.     public boolean suitDefine(String cardSuit){
  158.         String[] suitArray = {"C", "c", "D", "d", "H", "h", "S", "s"};
  159.  
  160.         for(int i = 0; i < suitArray.length; i++){
  161.             if(cardSuit.equals(suitArray[i])){
  162.                 return true;
  163.             }
  164.         }
  165.  
  166.         return false;
  167.     }
  168.    
  169.     public boolean equals(Card c){
  170.         if(getCardRank() == c.getCardRank() && getCardSuit() == c.getCardSuit()){
  171.             return true;
  172.         }
  173.         else{
  174.             return false;
  175.         }
  176.     }
  177.  
  178.     public String toString(){
  179.         String[] rankName = {"Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Ace", "Jack", "Queen", "King", "Ace"};
  180.         String[] rankArray = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "j", "q", "k", "a"};
  181.  
  182.         String[] suitName = {"Clubs", "Clubs", "Spades", "Spades", "Diamonds", "Diamonds", "Hearts", "Hearts"};
  183.         String[] suitArray = {"C", "c", "S", "s", "D", "d", "H", "h"};
  184.        
  185.         String printRank = " ";
  186.         String printSuit = " ";
  187.  
  188.         for(int i = 0; i < rankName.length; i++){
  189.             if(cardRank.equals(rankArray[i])){
  190.                 printRank = rankName[i];
  191.             }
  192.         }
  193.        
  194.         for(int i = 0; i < suitName.length; i++){
  195.             if(cardSuit.equals(suitArray[i])){
  196.                 printSuit = suitName[i];
  197.             }
  198.         }
  199.        
  200.         return printRank + " of " + printSuit + " (Value = " + getCardRank() + " )";
  201.     }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment