当前位置: 首页 > 知识库问答 >
问题:

选择将哪个输入存储到ArrayList中的位置?(从扫描仪读取)

厉成仁
2023-03-14

我试图使用用户输入从扫描仪读取整数列表,并将所有输入存储到ArrayList中,但用户输入的最后一个整数除外,我希望将其存储在整数中(整数键;)我怎么能这么做?

我试着先把它放入一个int[],但我不知道用户将输入多少个整数。是否有一种方法可以直接读取ArrayList中的所有整数,不包括存储在整数键中的最后一个整数?

到目前为止我所拥有的:

private ArrayList<Integer> theList;
private Integer theKey;
public static void main(String args[])
{
    int[] integers = null;
    System.out.println("Enter a list of integers, the final being a key");
    Scanner scanner = new Scanner(System.in);
    int i = 0;
    try
    {
       while (scanner.hasNext())
       {
         integers[i] = scanner.nextInt();
         i++;
       }
    }
    catch (NullPointerException ex)
    {
    }
    for (int k = 0; i < integers.length; i++)
    {
        System.out.print(integers[k] + " ");
    }


}

共有1个答案

唐修诚
2023-03-14

可以使用列表 。将所有int读入其中,然后(当不再有int)时,删除最后一个。就像,

System.out.println("Enter a list of integers, the final being a key");
Scanner scanner = new Scanner(System.in);
List<Integer> al = new ArrayList<>();
while (scanner.hasNextInt()) {
    al.add(scanner.nextInt());
}
int key = al.remove(al.size() - 1); // <-- the last one is removed, and returned.
 类似资料:
  • 问题内容: 我正在尝试做的是拥有多个具有不同变量的输入。每个变量将是不同方程式的一部分。我正在寻找一种方法来做,我想我有一个主意。我只想知道这是否合法,也许还有更好的方法。 问题答案: 如果每个输入都问相同的问题,则应使用循环和输入数组: 或者如Chip所建议的,您可以从一行中解析输入: 您在正确的轨道上,所做的工作正常。这只是一种更好,更灵活的处理方式。

  • 我有一个扫描仪,它读入字符串作为坐标输入。我必须将这些字符串转换成整数,并将它们存储在坐标的Arraylist中,但我输入的最后一个值没有存储在Arraylist中。 我尝试在for-loop之外使用,但仍然没有变化。在存储和解析字符串时,我也尝试使用while循环而不是for循环,但得到了相同的结果。 预期结果: 点:[1,2,3,4] 实际结果 点:[1,2]

  • 对于作业,我必须编写以下代码: 当我尝试编译它时,它在命令提示符下给了我3个错误,说“无法解析符号,符号:类扫描仪,位置:类单词,扫描仪用户输入=新扫描仪(System.in)”。我不确定错误在哪里。我应该使用BufferedReader作为输入吗?

  • 问题内容: 我试图找到一种方法来从键盘输入。 我尝试使用: 该方法不存在。 我尝试了作为。但是,它并不总是在每种情况下都可行,因为我从我的方法中调用的另一个方法需要作为输入。因此,我必须找到一种显式将char作为输入的方法。 有什么帮助吗? 问题答案: 你可以从中提取第一个字符: 消耗正好一个字符,你可以使用: 要严格使用一个字符,可以使用:

  • 我试图构建一个通过扫描仪构建的整数ArrayList。用户必须输入5到10个整数才能使ArrayList有效,但在运行程序时,实际输入数将是未知的。 如何构建程序,使其只在用户输入5、6、7、8、9或10个整数时运行?

  • 我正在制作一个地下城探索类型的游戏,用户可以输入输入作为一个移动每回合(选择一个方向移动)。然而,我遇到了一个问题与采取扫描仪输入。当我测试我的方法一次,它是正确的,然而,当我把它进入一个while循环,以便我可以从玩家的每一个回合,我得到一个新的移动,在第一次输入后,我得到了一个错误。我不明白为什么我会得到这个错误,因为它不应该每次运行时都扫描新的输入吗?谢谢你的洞察力。 错误如下: 下面是有问