在Java中从文件中获取以空格分隔的数字

在Java中从文件中获取以空格分隔的数字,java,Java,这是我的输入文件。我想从中生成一个int数组: 3 5 1 5 7 1 10 1 6 10 6 2 1 2 0 5 8 1 您的代码假定所有输入的数字都是一位数字,但您输入的示例包括一个两位数字-10 我建议您采取不同的方法: BufferedReader in = new BufferedReader(new FileReader("yes.txt")); String s = in.readLine(); String[] strScores = s.split(" "); int[]

这是我的输入文件。我想从中生成一个int数组:

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


您的代码假定所有输入的数字都是一位数字,但您输入的示例包括一个两位数字-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]);
}
BufferedReader in=new BufferedReader(new FileReader(“yes.txt”);
字符串s=in.readLine();
字符串[]strScores=s.split(“”);
int[]分数=新的int[strScores.length];

对于(int j=0;j您的代码假设所有输入的数字都是一位数字,但您输入的示例包括一个两位数字-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]);
}
BufferedReader in=new BufferedReader(new FileReader(“yes.txt”);
字符串s=in.readLine();
字符串[]strScores=s.split(“”);
int[]分数=新的int[strScores.length];

对于(int j=0;j而不是固定数字宽度的编码,请使用呼叫:

String[]parts=s.split(“”);
int[]分数=新的int[parts.length];
对于(int i=0;i
使用呼叫代替固定号码宽度的编码:

String[]parts=s.split(“”);
int[]分数=新的int[parts.length];
对于(int i=0;i
你得到了什么?一些不想要的值…你得到了什么?一些不想要的值…这里使用Character.getNumericValue没有问题。这里使用Character.getNumericValue没有问题。
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]);
}
String[] parts = s.split(" ");
int[] score = new int[parts.length];
for (int i = 0; i < parts.length; i++)
    score[i] = Integer.parseInt(parts[i]);