2013-02-17 2 views
0

У меня есть два массива символов, и моя цель - получить изменение двух массивов и сформировать строку слова. Идея - это получить новое сыгранное слово в scrabble, в котором мне также нужно рассмотреть характер, который я использовал из предыдущего слова (я говорю это ясно?). Моя проблема в том, что я могу получить OST, но не P ... помогите пожалуйста.Получение значения предыдущего индекса для массива

вот мой код

Character[][] arr1 = new Character[4][4]; 
    arr1[0][0] = 'H'; 
    arr1[0][1] = 'E'; 
    arr1[0][2] = 'L'; 
    arr1[0][3] = 'P'; 
    arr1[1][0] = ' '; 
    arr1[1][2] = ' '; 
    arr1[1][3] = ' '; 
    arr1[2][0] = ' '; 
    arr1[2][1] = ' '; 
    arr1[2][2] = ' '; 
    arr1[2][3] = ' '; 
    arr1[3][0] = ' '; 
    arr1[3][1] = ' '; 
    arr1[3][2] = ' '; 
    arr1[3][3] = ' '; 

    Character[][] arr2 = new Character[4][4]; 
    arr2[0][0] = 'H'; 
    arr2[0][1] = 'E'; 
    arr2[0][2] = 'L'; 
    arr2[0][3] = 'P'; 
    arr2[1][0] = ' '; 
    arr2[1][2] = ' '; 
    arr2[1][3] = 'O'; 
    arr2[2][0] = ' '; 
    arr2[2][1] = ' '; 
    arr2[2][2] = ' '; 
    arr2[2][3] = 'S'; 
    arr2[3][0] = ' '; 
    arr2[3][1] = ' '; 
    arr2[3][2] = ' '; 
    arr2[3][3] = 'T'; 

    for(i=0;i<4;i++){ 
     for(j=0;j<4;j++){ 
      if(arr1[i][j]!=arr2[i][j]){ 
       s = arr2[i][j]; 
       t = Character.toString(s); 
       out = builder.append(t).toString(); 
      } 
     } 
    } 
    ok.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      output.setText(out); 
      } 
    }); 

заранее спасибо ...

+0

Единственные различия между двумя массивами - OST, поэтому почему результат должен содержать «P»? – StarPinkER

+0

Когда доска довольно заполнена, есть ситуации, когда вы формируете несколько слов, добавляя символы. Какой результат вы ожидаете? – Henry

+0

@Jermaine Xu .... это потому, что моя цель - получить все слово ... точно так же, как в scrabble.when есть новое слово, добавленное к доске, новое слово содержит письмо от предыдущего слова ... – kathy

ответ

0

Причина вы не можете получить «P» является ваше условие недействительно, где arr1 [0] [3]! = arr2 [0] [3] неверно. В этом случае условие проверяет, является ли («P»! = «P») ложным, поэтому цикл игнорирует условие.

Но «O», «S» и «T» сравнивает с «», так что он будет добавлять «OST»

Может быть, вы можете работать вокруг здесь, или объяснить больше о требовании.

+0

@Anuardha Namal .. Мне нужно иметь два массива, чтобы я мог сравнивать содержимое и добавлять в него новое значение. Мне нужно получить все слово для подсчета и проверки достоверности слова из базы данных. Просто как в игре с царапинами, мне нужно получить все слово ... и это единственный способ, который я знаю, если есть другой способ научить меня, как это сделать? .. спасибо .. – kathy