编程求助:实现动态接收整数输入的ArrayList存储与展示功能
实现动态接收整数的ArrayList程序
下面是用Java实现的完整代码,满足动态添加任意数量整数、输入后确认是否结束的需求:
import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; public class IntegerArrayListInput { public static void main(String[] args) { ArrayList<Integer> numList = new ArrayList<>(); Scanner scanner = new Scanner(System.in); while (true) { // 接收整数输入 System.out.print("请输入一个整数:"); try { int num = scanner.nextInt(); numList.add(num); } catch (InputMismatchException e) { System.out.println("输入无效,请输入整数类型的数据!"); scanner.next(); // 清除无效输入,避免死循环 continue; } // 询问是否完成输入 System.out.print("是否完成输入?输入Yes结束,其他内容继续:"); scanner.nextLine(); // 读取换行符,避免读取到空字符串 String choice = scanner.nextLine().trim(); if (choice.equalsIgnoreCase("Yes")) { break; } } // 展示所有数据 System.out.println("你输入的所有整数为:"); for (int num : numList) { System.out.print(num + " "); } scanner.close(); } }
关键说明:
- 动态扩容特性:
ArrayList<Integer>无需预先指定大小,当元素数量超出当前容量时会自动完成扩容,完全支持任意数量的元素存储。 - 输入异常防护:捕获
InputMismatchException,避免用户输入非整数导致程序崩溃,同时清除无效输入保证循环正常执行。 - 人性化结束判断:用
equalsIgnoreCase("Yes")做判断,不管用户输入"yes"、"YES"还是"Yes"都能触发结束逻辑,提升操作容错性。 - 循环逻辑设计:通过
while(true)实现无限循环,直到用户输入指定内容才跳出循环,最后遍历输出所有存储的整数。
内容的提问来源于stack exchange,提问作者Jeevan Jitu
相关产品推荐
相关产品推荐

