这是我的输入文件。我想从它做一个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
答案 0 :(得分:3)
您的代码假定所有输入数字都有一个数字,输入示例包括两位数字--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]);
}
答案 1 :(得分: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]);