2014-10-10 18 views
0

Здесь, в моем коде, я печатаю значения от 1 до 64. Но мне нужно напечатать эти значения в обратном порядке, начиная с 64 до 1. И все значения в одной таблице. Для моих текущих логических значений печатается в 2 таблицах . от 1 до 56 в первой таблице и от 57 до 64 во второй таблице. Как изменить эту логику.как печатать значения в обратном порядке для этой логики?

<% 
     int apps = 64; 
     int N = 1, k; 
     label: 
     for (int i = 1; i <= apps; i++) { 
      out.println("<table>"); 
      for (int j = 1; j <= 7; j++) { 
       out.println("<tr>"); 
       for (k = N; k <= N + 7; k++) { 
        out.println("<td>"); 
        out.println("" + k + ""); 
        out.println("</td>"); 
        if (k == apps) { 
         break label; 
        } 
       } 
       out.println("</tr>"); 
       N = N + 8; 
      } 
      out.println("</table>"); 
     } 
    %>  

Ваша помощь будет оценена.

ответ

0
out.println("<table>"); 
int row=8; 
int col =8; 

int count = 64; 
for(int i = row;i>0 ;i--){ 
out.println("<tr>"); 
    for(int j=col;j>0;j--){ 
    out.println("<td>"+count+"</td>"); 
    count--; 
    } 
out.println("</tr>"); 
} 

out.println("</table>"); 

Попробуйте это.

+0

каждое значение печатается в отдельной строке.и нужно 8 значений в строке, начиная с 64. – abdul

+0

prtk_shah, пожалуйста, запустите свой код, он не печатает в соответствии с требованием. – abdul

+0

@abdul извините за проблему. Это окончательный вариант. –

0

Вместо указания строк и столбцов переменной мы можем записать это следующим образом:

out.println("<table>"); 
     int apps = 64; 
     double rowColumn = Math.sqrt(apps); 
     for (double i = rowColumn; i > 0; i--) { 
      out.println("<tr>"); 
      for (double j = rowColumn; j > 0; j--) { 
       out.println("<td>" + apps + "</td>"); 
       apps--; 
      } 
      out.println("</tr>"); 
     } 
     out.println("</table>"); 

Это будет работать нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^