2014-12-04 4 views
1

자바에서 약간의 카드 게임을 만들고 있습니다. 지금 저는 손으로 분류하고 있습니다. 그러나 'handclassifier'메서드를 실행하면 아무 것도 얻지 못합니다. 한 쌍에 대한 요구 사항이 충족 된 경우에도, 당신이 볼 수 있듯이, handclassifier 방법은 전혀 아무것도 반환하지 않습니다Java 메소드는 실행 후 아무 것도 출력하지 않습니다.

표준 출력

Your hand: 6 of Spades, Queen of Spades 
Creek: 10 of Spades, 9 of Spades, Queen of Clubs 
Current value: 

다음은 콘솔에 어떤 eclispe 출력의 예입니다. 첫 번째 2 가지 방법을 실행 한 후에 카드를로드하여 메서드로 분류 할 수 있습니다. 비교를위한 코드에 이상이 있습니까?

홈페이지 코드 섹션

package Deck; 
import java.util.*; 
public class creek { 
    public static int i, ii; 
    public static boolean stop = false; 
    public static String card1, card2, fcard1, fcard2, fcard3, cv1, cv2, cs1, cs2, fv1, fv2, fv3,  fs1, fs2, fs3; 
    public static String[] rank = {"Ace", "2", "3", "4", "6", "7", "8", "9", "10", "Jack", "Queen", "King"}; 
    public static String[] suit = {"Spades", "Hearts", "Clubs", "Diamonds"}; 

    public static void hand() { 
     Random ran = new Random(); 
     int counter = 0; 

     for(counter = 0; counter < 1; counter++) { 
      i = ran.nextInt(12); 
      ii = ran.nextInt(3); 
      cv1 = rank[i]; 
      cs1 = suit[ii]; 
      card1 = rank[i] + " of " + suit[ii] ; 
     } 
     for(counter = 1; counter < 2; counter++) { 
      i = ran.nextInt(12); 
      ii = ran.nextInt(3); 
      cv2 = rank[i]; 
      cs2 = suit[ii]; 
      card2 = rank[i] + " of " + suit[ii]; 
     } 
     if (card1.equals(card2)) { 
      while(card1.equals(card2)) { 
       i = ran.nextInt(12); 
       ii = ran.nextInt(3); 
       card2 = rank[i] + " of " + suit[ii]; 
       cv2 = rank[i]; 
       cs2 = suit[ii]; 
      } 
     } 
     counter = 0; 
     System.out.printf("Your hand: %s, %s",card1,card2); 
    } 
    public static void flop() { 
     Random ran = new Random(); 
     int counter = 0; 

     for(counter = 0; counter < 1; counter++) { 
      i = ran.nextInt(12); 
      ii = ran.nextInt(3); 
      fcard1 = rank[i] + " of " + suit[ii]; 
      fv1 = rank[i]; 
      fs1 = suit[ii]; 
     } 
     for(counter = 1; counter < 2; counter++) { 
      i = ran.nextInt(12); 
      ii = ran.nextInt(3); 
      fcard2 = rank[i] + " of " + suit[ii]; 
      fv2 = rank[i]; 
      fs2 = suit[ii]; 
     } 
     for(counter = 2; counter < 3; counter++) { 
      i = ran.nextInt(12); 
      ii = ran.nextInt(3); 
      fcard3 = rank[i] + " of " + suit[ii]; 
      fv3 = rank[i]; 
      fs3 = suit[ii]; 
     } 
     if (fcard1 .equals(card1) || fcard1.equals(card2) || fcard1.equals(fcard2) || fcard1.equals(fcard3)) { 
      while(fcard1.equals(card1) || fcard1.equals(card2) || fcard1.equals(fcard2) || fcard1.equals(fcard3)) { 
       i = ran.nextInt(12); 
       ii = ran.nextInt(3); 
       fcard1 = rank[i] + " of " + suit[ii]; 
       fv1 = rank[i]; 
       fs1 = suit[ii]; 
      } 
     } 
     if (fcard2.equals(card1) || fcard2.equals(card2) || fcard2.equals(fcard1) || fcard2.equals(fcard3)) { 
      while(fcard2.equals(card1) || fcard2.equals(card2) || fcard2.equals(fcard1) || fcard2.equals(fcard3)) { 
       i = ran.nextInt(12); 
       ii = ran.nextInt(3); 
       fcard2 = rank[i] + " of " + suit[ii]; 
       fv2 = rank[i]; 
       fs2 = suit[ii]; 
      } 
     } 
     if (fcard3.equals(card1) || fcard3.equals(card2) || fcard3.equals(fcard1) || fcard3.equals(fcard2)) { 
      while(fcard3.equals(card1) || fcard3.equals(card2) || fcard3.equals(fcard1) || fcard3.equals(fcard2)) { 
       i = ran.nextInt(12); 
       ii = ran.nextInt(3); 
       fcard3 = rank[i] + " of " + suit[ii]; 
       fv3 = rank[i]; 
       fs3 = suit[ii]; 
      } 
     } 
     System.out.printf("\nCreek: %s, %s, %s \n", fcard1, fcard2, fcard3); 
    } 
    public static void handclassifier() { 
     while(stop = false) { 
      if(cv1.equals(cv2) || cv1.equals(fv2) || cv1.equals(fv2) || cv1.equals(fv3) || cv2.equals(fv1) || cv2.equals(fv2) || cv2.equals(fv3) || fv1.equals(fv2)|| fv1.equals(fv3) || fv2.equals(fv3)) { 
       if(cv1.equals(cv2) && cv1.equals(fv1) || cv1.equals(cv2) && cv1.equals(fv2) || cv1.equals(cv2) && cv1.equals(fv3) || cv1.equals(fv1) && cv1.equals(fv2) || cv1.equals(fv2) && cv1.equals(fv3) || cv2.equals(fv1) && fv1.equals(fv2) || cv2.equals(fv2) && fv2.equals(fv3) || fv1.equals(fv2) && fv2.equals(fv3)) { 
        if(cv1.equals(cv2) && cv2.equals(fv1) && fv1.equals(fv2) || cv1.equals(cv2) && cv2.equals(fv1) && fv1.equals(fv3) || cv1.equals(cv2) && cv2.equals(fv2) && fv2.equals(fv3) || cv1.equals(fv1) && fv1.equals(fv2) && fv2.equals(fv3) || cv2.equals(fv1) && cv2.equals(fv2) && cv2.equals(fv3)) { 
         System.out.println("Four of a Kind"); 
         stop = true; 
        } 
        System.out.println("Three of a Kind"); 
        stop = true; 
       } 
       System.out.println("Pair"); 
       stop = true; 
      } 
     } 
    } 

    public static void main(String[] args) { 
     hand(); 
     flop(); 
     System.out.println("Current value: "); 
     handclassifier(); 
    } 
} 

답변

7
while(stop = false) { 

당신은 그것을 비교하는 대신 stop 변수에 false를 할당하는

while(!stop) { 

또는

while(stop == false) { 

해야한다 현재 값은 false입니다.

+0

감사합니다. 그것은 그것을 고쳤다. – Monstarules

관련 문제