我使用缓冲的读取器读取输入,然后将其添加到数组中。但是由于某种原因,它只会将最后一个输入添加到数组中。我还想检查第一个输入是否为零...这就是我使用check变量所做的事情。但是主要的问题是它没有将其添加到数组中。

public static void main (String[] Args) throws IOException
{
    int[] numbers = new int[100];

    Scanner scan = new Scanner(System.in);
    InputStreamReader isReader = new InputStreamReader(System.in);
    BufferedReader bReader;
    bReader = new BufferedReader(isReader);
    int intNumber = Integer.parseInt(bReader.readLine());
    int check = scan.nextInt();
    while (check != 0)
    {
        int i = 0;
        numbers[i] = Integer.parseInt(bReader.readLine());
        check = intNumber;
        i++;
    }
    bReader.close();
}

最佳答案

int i = 0移动到while循环之外。在每次迭代中,i都将初始化为0,因此您的数组只有一个值,并且位于第0个索引中

09-25 20:53