2014-12-09 2 views
-1

Мне нужно проверить ряды покерных карт и посмотреть, хороши ли они. Но я получаю ошибку компиляции при условиях if. Сначала я отсортировал массив currentHand, чтобы упростить его.сравнить ранг двух покерных карт

int[] rankArray = currentHand.getRank(); 

int[] sortedArray = Arrays.sort(rankArray); 

    int r1 = sortedArray[0]; 
    int r2 = sortedArray[1]; 
    int r3 = sortedArray[2]; 
    int r4 = sortedArray[3]; 
    int r5 = sortedArray[4]; 

После этого я начал с случая «одной пары».

if (r1==r2) { 
      if(r1>9 || r1=1) { 
      winningHands = 1; 
      } 
    }//royal pair 

Но компилятор продолжает говорить мне, что «незаконное начало выражения Что здесь проблема

+0

Какая строка говорит о «незаконном запуске выражения»? – khelwood

+0

Он находится на r1 == r2, и сообщение об ошибке «Идентификатор ожидается». –

+0

... так что это не сообщение об ошибке, которое вы фактически указали в своем вопросе. – khelwood

ответ

0

Использование == для сравнения двух вещей (как вы уже знаете).? = для присвоения

.
1

Как вы уже сделали для r1==r2, используйте оператор == для сравнения; = является правопреемником

if (r1 > 9 || r1 == 1) 
.

Также Arrays.sort сортирует массив на месте; он ничего не возвращает. Использовать

Arrays.sort(rankArray); 

и использовать rankArray после этого line.

+0

К сожалению, это была опечатка. Проблема заключается в строке r1 == r2, и сообщение об ошибке является ожидаемым идентификатором. –

Смежные вопросы