Вопрос звучит достаточно просто, но я потратил 2 часа на поиски ответа и, похоже, не могу его найти. Я пытаюсь создать программу, которая заполняет список массивов пользовательским вводом (целых чисел), а затем закрывает его, когда набирается число 0.
Пока у меня есть:
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.util.*;
/**
* Write a description of class ArrayList2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Numbers
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println ("Enter a list of integers (Enter 0 when done): ");
ArrayList<Integer> fullArray = new ArrayList<Integer>();
while (keyboard.hasNextInt())
{
fullArray.add(keyboard.nextInt());
System.out.println (fullArray);
}
System.out.println (fullArray);
}
}
Моя проблема не в получении пользовательского ввода, а в закрытии массива при наборе 0. Я знаю, что hasNextInt
возвращает true
, пока их другой int
, но 0 также int
, поэтому он не закроет массив. Я попытался просто сказать if(keyboard.nextInt == 0)
, но это нарушает мой код и добавляет только все остальные числа в мой массив. Если кто-нибудь может мне помочь, это будет очень цениться. спасибо.