我的需求就是“把集合list当作一个圆环,循环依次取里面固定数量的元素”。
没有任何废话,我给chatgpt发的指令如下:
请用java语言帮我实现一个功能,给定一个存放人员姓名的list,再给定一个阈值数值,然后循环32次,每次的循环体里,判断阈值数值是否大于list的size,如果阈值数值大于list的size,就打印出list的所有元素,如果阈值数值小于list的size,则每次打印从前到后的阈值数值的数量的元素,如果到了list的尾部,就再转到list的头部继续适配
chatgpt也是不假思索的给出了答案,这个答案是100分的,他能精准识别人类的自然语言命令:
1 /** 2 * 把集合list当作一个圆环,循环依次取里面固定数量的元素 3 * @param args 4 */ 5 public static void main(String[] args) { 6 List<String> names = new ArrayList<>(); 7 names.add("Alice"); 8 names.add("Bob"); 9 names.add("Charlie"); 10 names.add("David"); 11 names.add("Eve"); 12 int threshold = 3; 13 14 for (int i = 1; i <= 32; i++) { 15 if (threshold > names.size()) { 16 System.out.println(names); 17 } else { 18 int endIndex = Math.min(threshold, names.size()); 19 List<String> sublist = names.subList(0, endIndex); 20 System.out.println(sublist); 21 names.addAll(names.subList(0, endIndex)); 22 names.subList(0, endIndex).clear(); 23 } 24 } 25 }
标签:endIndex,无可挑剔,阈值,代码,list,add,names,ChatGPT,size From: https://www.cnblogs.com/shamo89/p/17337278.html