如何在Java NetBeans中从用户输入列表获取并输出最后一个姓名
解决方法:获取列表最后一个元素并输出
你提到的list.size()确实仅返回列表的元素总数,要获取最后一个姓名,有两种简单可行的方式:
方法一:通过列表索引直接获取
ArrayList的索引从0开始,最后一个元素的索引为list.size() - 1,直接用get()方法即可获取。同时建议增加非空判断,避免用户直接输入空字符串导致索引越界异常:
Scanner scanner = new Scanner(System.in); ArrayList<String> listOfNames = new ArrayList<>(); while (true) { String input = scanner.nextLine(); if (input.equals("")) { if (!listOfNames.isEmpty()) { String lastName = listOfNames.get(listOfNames.size() - 1); System.out.println(lastName); } break; } listOfNames.add(input); }
方法二:用额外变量记录最后输入的姓名
如果不需要依赖列表,也可以在循环中用变量实时保存每次输入的内容,循环终止时直接输出该变量:
Scanner scanner = new Scanner(System.in); ArrayList<String> listOfNames = new ArrayList<>(); String lastName = ""; while (true) { String input = scanner.nextLine(); if (input.equals("")) { if (!lastName.isEmpty()) { System.out.println(lastName); } break; } listOfNames.add(input); lastName = input; }
两种方法都能实现需求,可根据实际场景选择。
内容的提问来源于stack exchange,提问作者belinyom
相关产品推荐
相关产品推荐

