public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < num; i++) { list.add(i + 1); } System.out.println("最后剩下的数是:"+removeOddNum(list)); } private static int removeOddNum(ArrayList<Integer> list) { ArrayList<Integer> arrayList; while (true) { arrayList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { if (i % 2 != 0) { arrayList.add(list.get(i)); } } list.clear(); list.addAll(arrayList); if (list.size() == 1) { break; } } return list.get(0); }测试结果: