
本文介绍如何使用 java 实现动态接收用户输入的整数,无须预先指定大小,通过循环持续添加至 arraylist,并在用户确认后打印全部内容。
本文介绍如何使用 java 实现动态接收用户输入的整数,无须预先指定大小,通过循环持续添加至 arraylist,并在用户确认后打印全部内容。
在 Java 中,ArrayList 是一种动态数组,非常适合处理运行时才确定数量的数据。本教程将带你实现一个交互式程序:持续接收用户输入的整数,直到用户明确输入 “yes” 表示结束,随后一次性输出所有已录入的数据。
核心实现逻辑
- 使用 Scanner 获取控制台输入;
- 采用无限 while (true) 循环接收整数,并添加进 ArrayList
; - 每次添加后询问用户是否完成输入,通过 String.equalsIgnoreCase("yes") 判断是否退出循环;
- 最终遍历并打印整个列表。
完整可运行代码
import java.util.ArrayList;
import java.util.Scanner;
public class UserInputArrayList {
public static void main(String[] args) {
ArrayList<integer> numbers = new ArrayList();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("Enter an integer to add to the ArrayList: ");
int input = scanner.nextInt();
numbers.add(input);
System.out.print("Is the input for ArrayList done? (Type 'yes' to finish, anything else to continue): ");
String done = scanner.next().trim();
if (done.equalsIgnoreCase("yes")) {
break;
}
}
System.out.println("\nThe ArrayList data entered by the user:");
for (int i = 0; i <h3>注意事项与优化建议</h3>
<ul>
<li>✅ <strong>输入校验增强</strong>:上述代码假设用户始终输入合法整数。实际项目中建议用 hasNextInt() 配合 nextLine() 避免 InputMismatchException; </li>
<li>✅ <strong>字符串输入健壮性</strong>:使用 .trim() 清除首尾空格,防止 "yes " 被误判为不匹配; </li>
<li>✅ <strong>资源管理</strong>:务必调用 scanner.close() 释放系统资源(尤其在长期运行程序中); </li>
<li>✅ <strong>输出体验优化</strong>:示例中改用带序号的格式化输出,便于用户核对数据顺序。</li>
</ul>
<p>该方案完全满足“不限定初始容量、按需动态扩展、交互式终止”的核心需求,是初学者掌握 ArrayList 与用户交互的典型实践范例。</p></integer>











