【发布时间】:2020-02-18 13:28:31
【问题描述】:
这个问题听起来很简单,但我花了 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),但这会破坏我的代码,只会将所有其他数字添加到我的数组列表中。如果有人可以帮助我,将不胜感激。谢谢。
【问题讨论】:
-
您需要将keyboard.nextInt() 的内容放入一个变量中,然后检查该变量的值,如果为0,则调用“break;”否则,您将变量的值放入数组中并像以前一样继续。
标签: java arrays loops arraylist while-loop