2014-11-28 4 views
0

여기에 입력 파일이 있습니다. 나는 그것에서 int 배열을 만들고 싶어 :자바 파일에서 공백으로 구분 된 숫자 얻기

3 5 1 5 7 1 10 1 6 10 6 2 1 2 0 5 8 1 


BufferedReader in = new BufferedReader(new FileReader("yes.txt")); 
String s = in.readLine(); 
int[] score = new int[s.length()]; 
for(int j=0;j<s.length();j+=2){ 
    score[j] = Character.getNumericValue(s.charAt(j)); 
} 

내가 원하는 출력을 받고 있지 않다. 도와주세요.

예상 출력 :

score[0] = 3, score[1] = 5 and so on 
+3

무엇을 얻고 있습니까? – BitNinja

+0

일부 바람직하지 않은 값은 ... – user4254879

답변

3

코드는 모든 입력 숫자가 한 자리를 것, butr 당신이 입력 예는 두 자리 숫자를 포함한다고 가정 - 10

난 당신이 다른 보시기 바랍니다을 방법 :

BufferedReader in = new BufferedReader(new FileReader("yes.txt")); 
String s = in.readLine(); 
String[] strScores = s.split(" "); 
int[] score = new int[strScores.length]; 
for(int j=0;j<strScores.length;j++){ 
    score[j] = Integer.parseInt(strScores[j]); 
} 
+0

여기에 Character.getNumericValue를 사용하는 데 문제가 없습니다. – Boann

2

대신 고정 된 수의 폭을 코딩으로하는 split 전화를 사용

String[] parts = s.split(" "); 
int[] score = new int[parts.length]; 
for (int i = 0; i < parts.length; i++) 
    score[i] = Integer.parseInt(parts[i]); 
관련 문제