Android сравнивать массивы - PullRequest
4 голосов
/ 15 марта 2012

Поскольку я не лучший в разработке для Android, я попробовал кое-что, что работает для меня и для мобильного телефона друга, но у меня есть некоторые сообщения с маркета, что это не работает для всех устройств, возможно, и неправильно сравнивать. Тем не мение. проект прост, он захватывает заказ из sql и в игре игрок пытается его выполнить. Итак, у меня есть 2 массива. Я называю это в начале:

    final String[] combo = new String[] {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; 
    final String[] order1 = new String[] {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};


    for(int i = 0; i < combo.length; i++) {
        combo[i] = new String();
        combo[i] = "0";
        order1[i] = new String();
        order1[i] = "0";
    }

и во время игры, если игрок нажимает кнопку, он меняет значение комбо, например, combo [7] = "1";

Когда он нажимает последнюю кнопку, я проверяю, что 2 массива с этим

String IsSame = compareOrder(combo, order1);

, а затем

   if (IsSame.equals("TRUE")) {

   // commands  

   }
   else if (IsSame.equals("FALSE")) {

   // commands                    

  }


private String compareOrder(String[] a, String[] b){
String n1 = "TRUE";
for (int i = 0; i < 13; i++) {
         if (a[i].equals(b[i])==false) {n1 = "FALSE";}
   }
return n1;  
}

Это выглядит нормально для меня, и это работает для моего мобильного телефона, но, возможно, код не такой нормальный, и это приводит к неправильным результатам на других устройствах. Итак, мне нужна помощь, если вы видите что-то странное и не работает в моем коде, скажите мне. Спасибо!

1 Ответ

13 голосов
/ 15 марта 2012

Не пишите, что уже предусмотрено.: -)

import java.util.Arrays;

TextView tv = (TextView) findViewById(R.id.text_view);
tv.setText(Arrays.equals(order1, combo)? "Equal" : "Unequal");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...