2011-01-05 2 views
0

이 코드의 문제점을 이해하지 못합니다. 나는 자바에서 배열 [] []로 txt 파일java로 배열 할 파일. 이 코드의 문제점은 무엇입니까?

11,10 
2,20 

을 읽고 싶어.

내 코드는

import java.util.Arrays; 
class ArrayMatrix{ 
    public static void main (String[] args) { 
    int rows = 2; 
    int cols = 2; 
    FileInput in = new FileInput("test.txt"); 
    int[][] circle = new int[rows][cols]; 
    int i = 0; 
    int j = 0; 
    String [] line; 
    for(i = 0; i<rows; i++) { 
     line = in.readString().split(","); 
     for(j = 0; j<cols; j++) { 
      circle[i][j] = Integer.parseInt(line[j]); 
      System.out.println(circle[i][j]); 
     } 
    } 
} 
} 

출력은

11 
10 
2 
20 

당신이 날 이유하시기 바랍니다 이해하는 데 도움이 시겠어요입니까?

나는 출력을 원하는

11 10 
2 20 
+0

의 쇼, 당신은 – Kurru

답변

0

각 줄에 값을 구분 혼수이 없을 때 당신은 왜, 혼수를 사용하여 문자열을 분할하려고?

line = in.readString().split(","); //this is expecting coma separated values on each line 

또한 System.out.println()은 끝에 새 행을 추가합니다. 그렇기 때문에 그들은 다른 줄로 끝납니다. 대신 System.out.print (circle [i] [j])를 사용하십시오.

0

println()을 사용하면 각 요소가 새 줄에 쓰여집니다. 보십시오 : 당신은 단지 중간에에서 System.out.println (원 [I] [J]) 명령을 사용하고 있기 때문에

for(j = 0; j<cols; j++) { 
     circle[i][j] = Integer.parseInt(line[j]); 
     System.out.print(circle[i][j] + " "); 
    } 
    System.out.println(); 
+0

감사합니다 (녹색으로 돌려, 답변 옆에있는 진드기를 클릭하여) 최고의 하나를 받아 들여야한다. 지금 일하고있다. – user560084

2

당신이있는 거 출력은 다음과 같이 어느 한 줄 만 인쇄합니다. System.out.print 명령을 사용하면 올바르게 인쇄하는 데 도움이됩니다. 당신이 당신의 대답에 만족하는 경우 다음과 같은 변경된 코드 샘플

import java.util.Arrays; 
class ArrayMatrix{ 
    public static void main (String[] args) { 
    int rows = 2; 
    int cols = 2; 
    FileInput in = new FileInput("test.txt"); 
    int[][] circle = new int[rows][cols]; 
    int i = 0; 
    int j = 0; 
    String [] line; 
    for(i = 0; i<rows; i++) { 
     line = in.readString().split(","); 
     for(j = 0; j<cols; j++) { 
      circle[i][j] = Integer.parseInt(line[j]); 
      System.out.print(circle[i][j] + " "); 
     } 
     System.out.println(); 
    } 
} 
} 
+0

정말 고마워요. 코드가 제대로 작동합니다. – user560084

관련 문제