2014-10-01 4 views
0

/2 차원 배열에 instanceof를 사용하여 equals 메서드를 작성하려고합니다 (보드는 2 차원 배열을 유지하는 체스 필드 임). 나는 그것의 대부분을 가지고 있다고 생각하지만 마지막 부분을 쓰려고 노력하고있다. 그것이이 방법을 동일 이후는 현재 개체 보드와 같은 거짓이라면, 나는 그렇지 않으면이 같은/2 차원 배열에 instanceof를 사용하여 java에서 equals 메서드를 사용하는 방법은 무엇입니까?

public boolean equals(Object obj) { 
     if (obj == this) 
      return true; 
     else 
      if (!(obj instanceof Chess)) 
       return false; 
      else { 
       Chess ch= (Chess) obj; 
       for (int col=0; col<8; col++) 
        for (int row=0; row<8; row++) 
         //stuck here 

      } 
    } 

답변

0

비교 인해 경로 지정에 일반적으로 다소 혼란 개체 (OBJ)의 이사회가 true를 반환하고 싶습니다. 나는 당신의 체스 판이나 조각이 무엇인지 모르겠다. 그래서 나는 당신에게 기본적인 논리를 줄 것이다. 조각이없는 셀에 null 공백이있는 경우 for 루프 내에 추가 로직을 작성하지만 궁극적으로 두 for 루프의 순회를 완료하면 두 루프가 동일하다고 가정 할 수 있습니다.

 else { 
      Chess ch= (Chess) obj; 
      for (int col=0; col<8; col++) { 
       for (int row=0; row<8; row++) { 
        if this.board[col][row].equals(ch.board[col][row]) { 
         return false; //if any piece doesn't match, it's not equal, we can stop 
        } 
       } 
      } 
      // we iterated through everything, and didn't find anything mismatched 
      //might as well say they're equal 
      return true; 
     }