반응형

Table 구조 배열 가로 형식 출력(피벗) 알고리즘


레코드 수를 n개로 고정하고, 총 레코드 n 건수만큼 동적으로 가로 추출
예) 21(총 건수) / 
5(레코드 수) = 5개의 필드 [ 4(몫) + 1(나머지 > 0) ]


public static void main(String arr[]){
         
int[] numArr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
                        13, 14, 15, 16, 17, 18, 19, 20, 21};
  int cnt = 0; // 첫 시작값 정의
       int fixedNum = 5; // 고정 레코드 수
    StringBuffer sb = new StringBuffer();
         
  for(int i=0; i<fixedNum; i++){
      sb.append("<tr>"); // 고정 사이즈 n번 <tr>루프
    for(int j=cnt; j<numArr.length; j++){
             /* 추출된 갯수만큼 <td>별 n개 단위의 값을 추출 */
          sb.append("<td>");
          sb.append(numArr[j]);
         sb.append("</td>");
           j = j+(fixedNum-1);
            }
            cnt = i+1; // j의 시작값 위치를 지정 <tr><td>1</td>
            sb.append("</tr>"); // 고정 사이즈 5번 만큼 닫기 루프
            sb.append("\n");
        }
        System.out.println(sb.toString());
    }
 
/**
# 출력값
<tr><td>1</td><td>6</td><td>11</td><td>16</td><td>21</td></tr>
<tr><td>2</td><td>7</td><td>12</td><td>17</td></tr>
<tr><td>3</td><td>8</td><td>13</td><td>18</td></tr>
<tr><td>4</td><td>9</td><td>14</td><td>19</td></tr>
<tr><td>5</td><td>10</td><td>15</td><td>20</td></tr>
 */

출처 : http://develop.sunshiny.co.kr/category/8

반응형

+ Recent posts