java - 当用户输入数量未知时如何使用固定长度数组

标签 java arrays java.util.scanner

我有一项任务,需要接受用户输入的商品、数量和成本。用户可以输入任意数量的项目。我的问题是作业说:

输入:使用 java.util.Scanner 使用循环从控制台获取用户输入,并将输入放入固定长度的数组中。

让我困惑的部分是,当我不知道会有多少用户输入时,我不明白如何设置数组的长度。我已经搜索过答案,但没有找到任何答案,或者即使找到了,也没有找到我的答案。我希望有一个简单解决方案的示例,可以将未知数量的输入放入数组中。

最佳答案

我在这里假设输入仅采用整数形式,并且用户以整数形式提供商品、数量和成本。在这种情况下,我们可以使用列表来存储用户输入,然后,我们可以使用固定长度的数组来存储所有输入。

    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> list=new ArrayList<>();  
    while(sc.hasNext()){
        list.add(sc.nextInt());
    }
    int[] store = new int[list.size()];
    int k=0;
    for(int i:list){
        store[k++]=i;
    }

(如果用户以字符串格式提供输入,那么您只需将 sc.nextInt() 更改为 sc.nextLine() 并使用 substring() 即可提取所有输入。)

例如, 1 10 100 2 20 200 ---------- List 将存储所有这 6 个值,然后它将创建大小为 6 的数组。

关于java - 当用户输入数量未知时如何使用固定长度数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56204465/

相关文章:

java - 如何在 Java 中将文件读取为无符号字节?

java - Spring restTemplate execute() POST 大文件并获得响应

c++ - 如果 Malloc 无法分配 X 字节,我是使用 Realloc 还是再次使用 Malloc? C++

java - 如何使用 java.util.Scanner 正确扫描用户输入?

java - 逐行读取一个.txt文件到ArrayList

java - While 循环查找空格字符 - Java

java - 什么是原始类型,为什么我们不应该使用它呢?

java - 需要从查询中单独获取参数作为数组列表返回参数

python - 如何将线和列等分

python - 如何在 Python 中初始化二维元素的一维数组?