2013-03-13 2 views
1

두 개의 배열을 가지고 있는데, 이는 요소 수의 관점에서 같습니다. JTable 행에 넣고 싶습니다 (예를 들어, ASCII 테이블의 예와 같이). 두 배열에 대해 테이블 ​​모델과 루프를 사용하고 있지만 다른 것을 보관합니다 (인쇄 화면 참조). 참고 : ascii 테이블 예제 에서처럼 두 배열의 요소 사이의 대응 관계를 유지하려고합니다.두 개의 배열을 Jtable 행에 넣으십시오.

+--------------------+--------------------+ 
+ 1st Column  + 2nd Column  + 
+--------------------+--------------------+ 
+ 285    +  0    + 
+ 715    +  0    + 
+ 1437   +  1087   + 
+ 1749   +  0    + 
+--------------------+--------------------+ 

난 그 루프에서 생각,하지만 난 방법을 알아낼 수 없습니다

enter image description here

하지만이를 보관할 :

    Integer[] intArray = new Integer[stringArray.length]; 
        for (int i = 0; i < stringArray.length; i++) { 
         intArray[i] = Integer.parseInt(stringArray[i]); 
        } 

        System.out.println(Arrays.toString(intArray)); //output [285, 715, 1437, 1749] 


        Integer[] intArray1 = new Integer[stringArray1.length]; 
        for (int i = 0; i < stringArray1.length; i++) { 
         intArray1[i] = Integer.parseInt(stringArray1[i]); 
        } 

        System.out.println(Arrays.toString(intArray1)); //output [0, 0, 1087, 0] 


        DefaultTableModel modelPeaks = new DefaultTableModel(); 
        JTable table = new JTable(modelPeaks); 


        modelPeaks.addColumn("1st Column"); 
        modelPeaks.addColumn("2nd Column"); 


        for (int i = 0; i < intArray.length; i++) { 
         for (int j = 0; j < intArray1.length; j++) { 

          modelPeaks.addRow(new Object[]{intArray[i], intArray1[j]}); 
         } 
        } 

출력은 그것을 해결하기 위해. 누군가 나를 도울 수 있니? 그리고 시간 내 미리 감사드립니다.

+0

같은 array.size()/lenght()와 같지 않은 것처럼 보이며 두 배열에서 동시에 피크를 찾아야합니다. if 루프가 outof가 아닌 경우 .... – mKorbel

+0

이들은 길이가 동일합니다() (출력 주석 참조). 그러나 실수는 두 개의 루프를 사용한다는 것이 었습니다. 내가 틀렸거나 오해 한 경우에 나를 정정하십시오. 관심 주셔서 감사합니다. –

답변

3

마지막 루프가 항상

for (int i = 0; i < intArray.length; i++) { 
    modelPeaks.addRow(new Object[]{intArray[i], intArray1[i]}); 
} 

두 배열이 동일한 길이를 가지고 있는지 확인 읽어야을 .

2

배열은 같은 길이의 두 경우는 모두 동일 반복자 사용할 수 있습니다

for (int i = 0; i < intArray.length; i++) { 
    modelPeaks.addRow(new Object[]{intArray[i], intArray1[i]}); 
} 
관련 문제