나는 완전히 Java에 익숙하지 않으며 다른 방식으로이 작업을 수행 할 수있는 배열에 대해 충분히 알지 못합니다. 내 손이 서로 옆에있는 숫자를 주더라도 출력 할 수없는 이유를 말해 줄 수 있습니까? 로얄 플러시에 대한Statement에서 결과를 출력하지 않는 Java Poker 프로그램
public class PokerHand {
public static void main(String[] args) {
String[] SUITS = {
"Clubs", "Diamonds", "Hearts", "Spades"
};
String[] RANKS = {
"2", "3", "4", "5", "6", "7", "8", "9", "10",
"Jack", "Queen", "King", "Ace"
};
int n = SUITS.length * RANKS.length;
String[] deck = new String[n];
for (int i = 0; i < RANKS.length; i++) {
for (int j = 0; j < SUITS.length; j++) {
deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];
}
}
// for statement to randomize output
for (int i = 0; i < n; i++) {
int r = i + (int) (Math.random() * (n - i));
String temp = deck[r];
deck[r] = deck[i];
deck[i] = temp;
}
//to output 5 random cards
for (int i = 0; i < 5; i++) {
System.out.println(deck[i]);
// 테스트 //////////////////////////////////////
if (RANKS.equals("Jack") && RANKS.equals("10") && RANKS.equals("Queen") && RANKS.equals("King") && RANKS.equals("Ace")) {
System.out.println("Royal Flush");
}
// 스트레이트 플러시
if (RANKS.equals("Ace") && RANKS.equals("2") && RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5")) {
System.out.println("Straight flush 1-5");
}
if (RANKS.equals("2") && RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6")) {
System.out.println("Straight Flush 2 - 6");
}
if (RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7")) {
System.out.println("Straight Flush 3-7");
}
if (RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8")) {
System.out.println("Straight Flush 4-8");
}
if (RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9")) {
System.out.println("Straight Flush 5-9");
}
if (RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10")) {
System.out.println("Straight Flush 6-10");
}
if (RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack")) {
System.out.println("Straight Flush 7-J");
}
if (RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen")) {
System.out.println("Straight Flush 8-Q");
}
if (RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen") && RANKS.equals("King")) {
System.out.println("Straight Flush 9-K");
}
if (RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen") && RANKS.equals("King") && RANKS.equals("Ace")) {
System.out.println("Straight Flush 10-Ace");
}
일종의
// 네
if (RANKS.equals("Ace") && RANKS.equals("Ace") && RANKS.equals("Ace") && RANKS.equals("Ace")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("2") && RANKS.equals("2") && RANKS.equals("2") && RANKS.equals("2")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("3") && RANKS.equals("3") && RANKS.equals("3") && RANKS.equals("3")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("4") && RANKS.equals("4") && RANKS.equals("4") && RANKS.equals("4")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("5") && RANKS.equals("5") && RANKS.equals("5") && RANKS.equals("5")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("6") && RANKS.equals("6") && RANKS.equals("6") && RANKS.equals("6")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("7") && RANKS.equals("7") && RANKS.equals("7") && RANKS.equals("7")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("8") && RANKS.equals("8") && RANKS.equals("8") && RANKS.equals("8")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("9") && RANKS.equals("9") && RANKS.equals("9") && RANKS.equals("9")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("10") && RANKS.equals("10") && RANKS.equals("10") && RANKS.equals("10")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("Jack") && RANKS.equals("Jack") && RANKS.equals("Jack") && RANKS.equals("Jack")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("Queen") && RANKS.equals("Queen") && RANKS.equals("Queen") && RANKS.equals("Queen")) {
System.out.println("Four of a kind");
}
if (RANKS.equals("King") && RANKS.equals("King") && RANKS.equals("King") && RANKS.equals("King")) {
System.out.println("Four of a kind");
}
// FULL HOUSE
if (RANKS.equals("Ace") && RANKS.equals("Ace") && RANKS.equals("2") && RANKS.equals("2") && RANKS.equals("2")) {
System.out.println("Full House");
}
if (RANKS.equals("2") && RANKS.equals("2") && RANKS.equals("3") && RANKS.equals("3") && RANKS.equals("3")) {
System.out.println("Full House");
}
if (RANKS.equals("3") && RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("4") && RANKS.equals("4")) {
System.out.println("Full House");
}
if (RANKS.equals("4") && RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("5") && RANKS.equals("5")) {
System.out.println("Full House");
}
if (RANKS.equals("5") && RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("6") && RANKS.equals("6")) {
System.out.println("Full House");
}
if (RANKS.equals("6") && RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("7") && RANKS.equals("7")) {
System.out.println("Full House");
}
if (RANKS.equals("7") && RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("8") && RANKS.equals("8")) {
System.out.println("Full House");
}
if (RANKS.equals("8") && RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("9") && RANKS.equals("9")) {
System.out.println("Full House");
}
if (RANKS.equals("9") && RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("10") && RANKS.equals("10")) {
System.out.println("Full House");
}
if (RANKS.equals("10") && RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Jack") && RANKS.equals("Jack")) {
System.out.println("Full House");
}
if (RANKS.equals("Jack") && RANKS.equals("Jack") && RANKS.equals("Queen") && RANKS.equals("Queen") && RANKS.equals("Queen")) {
System.out.println("Full House");
}
if (RANKS.equals("Queen") && RANKS.equals("Queen") && RANKS.equals("King") && RANKS.equals("King") && RANKS.equals("King")) {
System.out.println("Full House");
}
if (RANKS.equals("King") && RANKS.equals("King") && RANKS.equals("Ace") && RANKS.equals("Ace") && RANKS.equals("Ace")) {
System.out.println("Full House");
}
/// FLUSH
if (SUITS.equals("Clubs") && SUITS.equals("Clubs") && SUITS.equals("Clubs") && SUITS.equals("Clubs") && SUITS.equals("Clubs")) {
System.out.println("Full House");
}
if (SUITS.equals("Diamonds") && SUITS.equals("Diamonds") && SUITS.equals("Diamonds") && SUITS.equals("Diamonds") && SUITS.equals("Diamonds")) {
System.out.println("Full House");
}
if (SUITS.equals("Hearts") && SUITS.equals("Hearts") && SUITS.equals("Hearts") && SUITS.equals("Hearts") && SUITS.equals("Hearts")) {
System.out.println("Full House");
}
if (SUITS.equals("Spades") && SUITS.equals("Spades") && SUITS.equals("Spades") && SUITS.equals("Spades") && SUITS.equals("Spades")) {
System.out.println("Full House");
}
//STRAIGHT
if (RANKS.equals("Ace") && RANKS.equals("2") && RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5")) {
System.out.println("Straight ");
}
if (RANKS.equals("2") && RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6")) {
System.out.println("Straight");
}
if (RANKS.equals("3") && RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7")) {
System.out.println("Straight");
}
if (RANKS.equals("4") && RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8")) {
System.out.println("Straight ");
}
if (RANKS.equals("5") && RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9")) {
System.out.println("Straight");
}
if (RANKS.equals("6") && RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10")) {
System.out.println("Straight");
}
if (RANKS.equals("7") && RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack")) {
System.out.println("Straight");
}
if (RANKS.equals("8") && RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen")) {
System.out.println("Straight");
}
if (RANKS.equals("9") && RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen") && RANKS.equals("King")) {
System.out.println("Straight");
}
if (RANKS.equals("10") && RANKS.equals("Jack") && RANKS.equals("Queen") && RANKS.equals("King") && RANKS.equals("Ace")) {
System.out.println("Straight ");
}
//Three of a kind
if (deck.equals("Ace"))
System.out.println("TOAK");
}
if (deck.equals("2")) {
System.out.println("TOAK");
}
if (deck.equals("3")) {
System.out.println("TOAK");
}
if (deck.equals("4"))
{
System.out.println("TOAK");
}
if (deck.equals("5")) {
System.out.println("TOAK");
}
if (deck.equals("6")) {
System.out.println("TOAK");
}
if (deck.equals("7")) {
System.out.println("TOAK");
}
if (deck.equals("8")) {
System.out.println("TOAK");
}
if (deck.equals("9")) {
System.out.println("TOAK");
}
if (deck.equals("10")) {
System.out.println("TOAK");
}
if (deck.equals("Jack")) {
System.out.println("TOAK");
}
if (deck.equals("Queen")) {
System.out.println("TOAK");
}
if (deck.equals("King")) {
System.out.println("TOAK");
}
// 두 쌍 (deck.equals ("에이스") & & deck.equals ("2"))의 경우 {
System.out.println("TP");
}
if (deck.equals("Ace") && deck.equals("2")) {
System.out.println("TP");
}
//One Pair
if (deck.equals("Ace") && deck.equals("Ace"))
{
System.out.println("TP");
}
if (deck.equals("2") && deck.equals("2"))
{
System.out.println("TP");
}
if (deck.equals("3") && deck.equals("3"))
{
System.out.println("TP");
}
if (deck.equals("4") && deck.equals("4"))
{
System.out.println("TP");
}
if (deck.equals("5") && deck.equals("5"))
{
System.out.println("TP");
}
if (deck.equals("6") && deck.equals("6"))
{
System.out.println("TP");
}
if (deck.equals("7") && deck.equals("7"))
{
System.out.println("TP");
}
if (deck.equals("8") && deck.equals("8"))
{
System.out.println("TP");
}
if (deck.equals("9") && deck.equals("9"))
{
System.out.println("TP");
}
if (deck.equals("10") && deck.equals("10"))
{
System.out.println("TP");
}
if (deck.equals("Jack") && deck.equals("Jack"))
{
System.out.println("TP");
}
if (deck.equals("Queen") && deck.equals("Queen"))
{
System.out.println("TP");
}
if (deck.equals("King") && deck.equals("King"))
{
System.out.println("TP");
}
//NO PAIR
}
}
제공된 코드의 출력은 (https://ideone.com/o3HaD50) :' 8 of Hearts 하트 오브 에이스 클럽 5 개 다이아몬드 8 개 하트 7 개 '출력이 없다는 것은 무엇을 의미합니까? – Hex
죄송합니다. ifStatements에서 출력이 나오지 않는다는 것을 의미합니다. 누군가 내 오류를 지적 할 필요가 있습니다. 감사합니다. (내가 쓴 카드가 5 장이라도 상관 없습니다.) – user5348367
of 명령문의 조건은 이해가되지 않습니다. 배열 8 자리 배열 객체를 일부 문자열 리터럴과 비교하고 있습니다. - 필드 랭킹과 슈트가있는 클래스 카드를 중심으로 프로그램을 재 설계해야하며 5 개의 객체 속성을보고 손을 분석해야합니다. – laune