BufferedReader并填充一个int数组

时间:2015-10-27 23:15:40

标签: java arrays parsing split bufferedreader

我有一项任务,我遇到了一些问题。

该程序使用Buffered Reader,在之前的作业中,我们总是在一行上有用户输入,并使用.split("\\s+")拆分它。此分配将最多 500 ints全部放在一个单独的行上,直到它达到null。

我的问题是将String输入解析为int数组。通常我有一个字符串数组,我设置等于inputValue.split("\\s+"),但教授说我们只需要一个数组(我们的int数组),我不能解决这个问题,因为我没有分开输入,因为我现在是没有把所有输入都输入我的int数组。

int count = 0;
int intScoresArr[] = new int [500];
//String strArray[];

while((inputValues = BR.readLine()) != null) {
    for(int i = 0; i < inputValues.length(); i++) {
        intScoresArr[i] = Integer.parseInt(strArray[i]);
        count++;
    }
}
average = calcMean(intScoresArr, count);
System.out.println(NF.format(average));

这是一些输入和我期望的输出以及当我循环并打印出数组时我实际得到的内容。

input:
    1
    2
    3
    4
    5

output:
    count: 5
    intScouresArr = 5 0 0 0 0

expected output: 
    count: 5
    intScoresArr = 1 2 3 4 5 

1 个答案:

答案 0 :(得分:1)

如果您希望每行有一个整数,则不需要两个嵌套循环;外NSInteger value = self.timeSlider.value; if (value >= -20 && value <= -1) { dispatch_async(dispatch_get_main_queue(), ^{ [self lessThan20SecondsPopUp]; }); } 就足够了:

while