2014-04-03 5 views
0

텍스트 파일의 데이터로 2 차원 배열을 채우려고합니다. 여기 텍스트 파일 데이터에서 2D 배열을 채우는 방법

Newfoundland and Labrador  545.3  540.9  537.9  533.8  531.6 
Prince Edward Island   136.9  137.8  138.3  138.9  139.9 
Nova Scotia     936.1  941.2  942.3  942.9  944.8 
New Brunswick     753.3  755.5  755.6  756  756.7 
Quebec      7323.6 7351.2 7381.8 7417.7 7455.2 
Ontario      11387.4 11527.9 11697.6 11894.9 12068.3 
Manitoba      1137.9 1142.5 1146.4 1149.1 1150.8 
Saskatchewan     1024.9 1025.6 1022  1017.1 1011.8 
Alberta      2906.8 2959.6 3009.9 3059.1 3113.6 
British Columbia    3997.1 4028.3 4060.1 4101.6 4141.3 
Yukon       31.5  31.1  30.6  30.2  29.9 
Northwest Territories   41.1  41  40.8  41.2  41.4 
Nunavut      26.4  26.9  27.5  28.1  28.7 

내 코드입니다 : 여기 텍스트 파일의 I 위의 텍스트 파일의 숫자와 함께 올해의 배열을 채우기 위해 노력하고있어

double year[] [] = new year [13] [5]; 
BufferedReader x = new BufferedReader (new FileReader ("populationByProvnices.txt")); 

, U 감사합니다 : D

+0

어떤 코드를 시도 했습니까? 말 그대로 방금 배열과 BufferedReader를 선언했습니다. 실제로 데이터를 읽으려고 시도한 것은 무엇입니까? –

+0

나는 최선을 다했다. ..... 내가 한 모든 일, didnt은 일을 그만 둔다. – user3375173

답변

0

buffledreader와 중첩 된 for 루프의 조합을 사용하여 텍스트 파일에서 2 차원 배열을 채울 수 있습니다. 이 같은 것이 트릭을 수행합니다.

 BufferedReader bf = new BufferedReader (new FileReader (new File ("populationByProvinces.txt"))); 
     provinceList = new ArrayList(); 
     year = new double [13] [5]; 
     String line = ""; 
     for (int x = 0 ; x <= 12 ; x++) 
     { 
      line = bf.readLine(); 
      provinceList.add (line); 

      for (int y = 0 ; y <= 4 ; y++) 
      { 
       year [x] [y] = Double.parseDouble ((line.substring ((y * 10 + 30), (y * 10 + 38)))); 
      } 
     } 
     bf.close(); 
관련 문제