2013-11-28 2 views
0
String[][] board = [a,b,c,d] 
        [e,f,g,h]; 

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

Выходной токКак манипулировать вложенным для петель

a 
ab 
abc 
abcd 
e 
ef 
efg 
efgh 

Я хочу, чтобы выход выглядеть

a 
ab 
abc 
abcd 
b 
bc 
bcd 
c 
cd 
d 
e 
ef 
efg 
efgh 
f 
fg 
fgh 
g 
gh 
h 

Как бы это сделать?

+4

Вы пробовали пошагового свой код и посмотреть, что происходит? Возможно, это даст вам подсказку, почему ваш код не производит желаемый результат. – Laf

+0

Вы также можете попытаться использовать бумагу и карандаш для доказательства своих алгоритмов. – nio

ответ

1

Вам нужно третий вложенный в цикл, чтобы сделать это:

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

// i - for each row 
for(int i=0; i<board.length; i++){ 

    // j - start from this column in a row 
    for(int j=0; j<board[i].length; j++){ 
     String temp = "";   
     // put all columns right to the j and including together 
     for(int k=j;k<board[i].length; k++) { 
      temp = temp+board[i][k]; 
      System.out.println(temp); 
     } 
    } 
} 
Смежные вопросы