2013-11-29 4 views
0
String board [][] = [a,b,c] 
        [d,e,f] 

for(int i=0; i<board.length; i++){ 
for(int j=0; j<board[i].length; j++){ 
    String temp = ""; 
    for(int k=j;k<board[i].length;k++){ 
     temp = temp+board[i][k]; 
     System.out.println(temp); 
     if(temp.length()>2){ 
      findWord(temp); 
     } 
    } 
} 
} 

이 를 출력하는 AB ABC B BC C D F EF E DEF 드 ..........거꾸로

어떻게 for 루프를 전환하여 다음과 같이 표시 할 수 있습니까? c cb cba B BA B CBA CB C D ED 전자 공급

또는

F FE D 전자 혼성 공급 FE F BA

+0

역순으로 배열을 표시 하시겠습니까? –

+3

은 항상 완전한 소스 코드를 사용하므로 다른 사람들이 자신의 시스템에서 쉽게 컴파일 할 수 있습니다. –

+0

* 코드를 변경하고 * 코드를 변경하는 것은 허용하지 않는 것이 정책입니다. –

답변

0

대신

for(int i=0; i<board.length; i++) { 
    for(int j=0; j<board[i].length; j++) { 
    String temp = ""; 
    for(int k=j;k<board[i].length;k++) { 
    } 
    } 
} 

for(int i=board.length; i>-1; i--){ 
for(int j=board[i].length; j>-1; j--){ 

완전한 루프에 의해이

for(int i=0; i<board.length; i++){ 
for(int j=0; j<board[i].length; j++){ 

배열의 길이 - 1, 카운터가 0보다 크거나 같으면 테스트하고 마지막으로 카운터를 감소시킵니다. 이처럼

for(int i=board.length-1; i>=0; i--) { 
    for(int j=board[i].length-1; j>=0; j--) { 
    String temp = ""; 
    for(int k=j;k>=0;k--) { 
    } 
    } 
} 
+0

예 - 이것이 올바른 방법입니다. 그러나 k는'j-1'이 아니라'j'에서 시작한다고 생각합니다. – Floris

0

대체 당신은에서 카운터를 시작해야

String board [][] = [a,b,c] 
        [d,e,f] 

for(int i=board.length; i>-1; i--){ 
for(int j=board[i].length; j>-1; j--){ 
    String temp = ""; 
    for(int k=j;k<board[i].length;k++){ 
     temp = temp+board[i][k]; 
     System.out.println(temp); 
     if(temp.length()>2){ 
      findWord(temp); 
     } 
    } 
} 
} 
+0

은 길이가 1에서 시작하여 == 0 (0이 아님)으로 이동합니다. 또한 -'k'를 뒤로 계산해야합니다 ... – Floris

+0

내가 찾고 있던 편집이 보이지 않습니다. for (int i = board.length - 1; 등) ... – Floris

+0

-1이 필요합니다. –