2015-02-16 4 views
-1

Привет, я пытаюсь понять в java, как вы можете взять массив int, а затем в выражении if сравнить один единственный элемент из массива int только с объявленным int. Я хочу просто сравнить два ints друг против друга, но один из них находится внутри массива int. == Я думаю, не работает?Сравните элемент массива int с int

for (int count = 5; count >= 0; count--) { 
       if (gameBoardTokens[count] == 0) { 
        if (playerOneTurn) { 
         gameBoardTokens[count] = 1; 
         count = 0; 
        } else { 
         gameBoardTokens[count] = 2; 
         count = 0; 
        } 

       } 
      } 
+0

Как вы думаете, это 'gameBoardTokens [число] == 0' делает? –

+0

Код внутри цикла for не выполняется, потому что 'count' никогда не меньше -1 – MinecraftShamrock

+0

Из исследования, которое я сделал, я понимаю, что == просто сравнивает ссылки, а не фактическое значение int, содержащееся в массиве. – TheATeam

ответ

0

gameBoardTokens[count] == 0 работает. Вещь, которая делает ваш код нефункциональным, заключается в том, что код в for -loop никогда не выполняется, потому что count изначально 5, для которого count < -1 - false. Таким образом, цикл немедленно прерывается.

1

вам нужно изменить (количество < -1) для этого (число> -1) , потому что при первой 5> -1 не -1> 5.

+0

Пожалуйста, подумайте о том, чтобы удалить ответ, потому что инициатор вопроса изменил свой код на основании вашего ответа. – Hannes

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