Что в моем коде может привести к преждевременному завершению my для l oop? Я пропускаю «я» где-то в пределах l oop? - PullRequest
0 голосов
/ 12 марта 2020

Я не могу понять, что приводит к тому, что мой l oop заканчивается Я только что попробовал протестировать его, и он запускает только функцию печати. Тогда это просто заканчивается. Я не понимаю, почему он это сделал.

import java.util.Scanner;
import java.util.ArrayList;
public class Test092 {

    public static void main(String[] args) {
        Scanner usersVal = new Scanner(System.in);
        ArrayList<Integer> arrayList = new ArrayList<>();

        int valAdd = 0;
        System.out.println("Please provide a list of numbers");

        for (int i = 0; i < arrayList.size(); i++) {

            valAdd = Integer.valueOf(usersVal.nextInt());

            if (valAdd == -1) {
                break;
            }else {
                arrayList.add(valAdd);
            }

        }

    }
}

Ответы [ 2 ]

2 голосов
/ 12 марта 2020

Проблема в том, что в вашем arrayList нет элементов. Поэтому, когда ваш l oop проверяет i < arrayList.size(), l oop не запускается (так как arrayList.size() равно 0)

0 голосов
/ 13 марта 2020

Попробуйте это:

public static void main(String [] args) {
    try (Scanner usersVal = new Scanner(System.in)) {
        List<Integer> arrayList = new ArrayList<>();
        System.out.println("Please provide a list of numbers");

        int valAdd = usersVal.nextInt();
        while (valAdd != -1) {
            arrayList.add(valAdd);
            valAdd = usersVal.nextInt();
        }
        System.out.println(arrayList);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...