2014-10-10 73 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 2014-10-10 05:19:08

+0

prtk_shah,請運行您的代碼,它不按要求打印。 – abdul 2014-10-10 05:33:45

+0

@abdul對於這個問題感到抱歉。這是最後一個。 – 2014-10-10 05:40:54

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>"); 

它將很好地工作。

相關問題