import java.util.Scanner;
public class Card
{
private boolean rankBad;
private boolean suitBad;
private boolean invalid;
private boolean valid;
private int value;
private int altValue;
private int suit;
private int rank;
private int numValue;
private int status;
private boolean isJack;
private boolean isAce;
private String card;
public Card()
{
Scanner keyboard = new Scanner(System.in);
getCard();
}
private void getCard()
{
Scanner keyboard = new Scanner(System.in);
do
{
Hand.numCardsInHand++;
do
{
System.out.print("\n>Enter Card#" + Hand.numCardsInHand + ":");
card = keyboard.nextLine();
card = card.toLowerCase();
validateCard();
isAce();
isJack();
if (rankBad)//rankBad means invalid rank
{
System.out.print("\nInvalid card rank---try again\n");
}
if (suitBad)//suitBad means invalid suit
{
System.out.print("\nInvalid card suit---try again\n");
}
if(invalid)//invalid will be assigned if entry is invalid
{
System.out.print("\nInvalid card entry---try again\n");
}
}while (!(valid));
Hand.handValue = Hand.handValue+getNumValue();
}while (Hand.numCardsInHand < 2);
if (isAce)
{
Hand.altHandValue = Hand.handValue+getAltValue()-1;
}
if ((isAce) && (isJack))
{
System.out.print("\n>You have Blackjack");
}
else if (isAce)
{
System.out.print("\n>Your hand value is " + Hand.handValue + " and your alternate hand value is " + Hand.altHandValue);
}
else
{
System.out.print("\n>Your hand value is " + Hand.handValue);
}
while (Hand.handValue < Hand.stayValue)
{
System.out.print("\n>The Hand elects a hit.");
Hand.numCardsInHand++;
do
{
System.out.print("\n>Enter Card#" + Hand.numCardsInHand + ":");
card = keyboard.nextLine();
card = card.toLowerCase();
validateCard();
isAce();
isJack();
if (rankBad)//rankBad means invalid rank
{
System.out.print("\nInvalid card rank---try again\n");
}
else if (suitBad)//suitBad means invalid suit
{
System.out.print("\n>Invalid card suit---try again\n");
}
else if (invalid)//invalid will be assigned if entry is invalid
{
System.out.print("\n>Invalid card entry---try again\n");
}
}while ((rankBad) || (suitBad) || (invalid));
Hand.handValue = Hand.handValue+getNumValue();
if (isAce)
{
Hand.altHandValue = Hand.handValue+getAltValue()-1;
if ((Hand.altHandValue >= 22) && (Hand.altHandValue >= Hand.stayValue))
{
System.out.print("\n>Your hand value is " + Hand.handValue);
}
else if ((Hand.handValue >= 22) && (Hand.altHandValue >= 22))
{
System.out.print("\n>Your hand is a bust.");
}
else
{
System.out.print("\n>Your hand value is " + Hand.handValue + " and your alternate hand value is " + Hand.altHandValue);
}
}
else if (Hand.handValue >=22)
{
System.out.print("\n>Your hand is a bust.");
}
else
{
System.out.print("\n>Your hand value is " + Hand.handValue);
}
}
}
public boolean validateCard()
{
int offset = 0;
if (card.charAt(0) == '2')
{
offset = 0;
value = 2;
altValue = -1;
rank = 2;
numValue = 2;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '3')
{
offset = 0;
value = 3;
altValue = -1;
rank = 3;
numValue = 3;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '4')
{
offset = 0;
value = 4;
altValue = -1;
rank = 4;
numValue = 4;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '5')
{
offset = 0;
value = 5;
altValue = -1;
rank = 5;
numValue = 5;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '6')
{
offset = 0;
value = 6;
altValue = -1;
rank = 6;
numValue = 6;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '7')
{
offset = 0;
value = 7;
altValue = -1;
rank = 7;
numValue = 7;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '8')
{
offset = 0;
value = 8;
altValue = -1;
rank = 8;
numValue = 8;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == '9')
{
offset = 0;
value = 9;
altValue = -1;
rank = 9;
numValue = 9;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == 'j')
{
offset = 0;
value = 10;
altValue = -1;
rank = 11;
numValue = 10;
status = 1;
isJack = true;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == 'q')
{
offset = 0;
value = 10;
altValue = -1;
rank = 12;
numValue = 10;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == 'k')
{
offset = 0;
value = 10;
altValue = -1;
rank = 13;
numValue = 10;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else if (card.charAt(0) == 'a')
{
offset = 0;
value = 1;
altValue = 11;
rank = 14;
numValue = 1;
status = 1;
isJack = false;
isAce = true;
rankBad = false;
}
else if (card.startsWith("10"))
{
offset = 1;
value = 10;
altValue = -1;
rank = 10;
numValue = 10;
status = 1;
isJack = false;
isAce = false;
rankBad = false;
}
else
{
value = 0;
altValue = -1;
rank = 0;
numValue = 0;
isJack = false;
isAce = false;
rankBad = true;
}
if (card.charAt(1+offset) == '-')
{
if (card.charAt(2+offset) == 'c')
{
suit = 1;
suitBad = false;
valid = true;
}
else if (card.charAt(2+offset) == 's')
{
suit = 2;
suitBad = false;
valid = true;
}
else if (card.charAt(2+offset) == 'd')
{
suit = 3;
suitBad = false;
valid = true;
}
else if (card.charAt(2+offset) == 'h')
{
suit = 4;
suitBad = false;
valid = true;
}
else
{
suitBad = true;
}
}
else
{
invalid = true;
return invalid;
}
if ((rankBad) || (suitBad))
{
invalid = true;
return invalid;
}
else if (rankBad)
{
return rankBad;
}
else if (suitBad)
{
return suitBad;
}
else
{
return valid;
}
public int getNumValue()
{
return numValue;
}
public int getCardSuit()
{
return suit;
}
public int getCardValue()
{
return value;
}
public int getAltValue()
{
return altValue;
}
public boolean isJack()
{
return isJack;
}
public boolean isAce()
{
return isAce;
}
public int getCardRank()
{
return rank;
}
}
now the error keeps coming up with my public int lines at the bottom, if i comment one out it will give me an error for the next one. any help would be greatly appreciated.