2014-10-10 7 views
0

여기 내 코드에서 1에서 64.But 값을 인쇄 할 64에서 시작하는 반대 순서로 해당 값을 인쇄해야합니다. 그리고 단일 테이블에있는 모든 값을. 내 현재 논리 값을 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

각 값은 별도의 행에 인쇄됩니다. 64 행을 8 개의 값이 필요합니다. – 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>"); 

그것은 잘 작동합니다.

관련 문제