gpt4 book ai didi

java - 如何从 ArrayList (Java) 打印最短的字符串

转载 作者:行者123 更新时间:2023-11-29 03:15:08 24 4
gpt4 key购买 nike

好的,所以目标是打印最小长度的字符串(例如,如果输入是“co”、“college”、“colleges”、“university”,我希望它打印出 co。我试过 college.compareTo( ____ );以及其他一些东西,但我似乎无法将其打印出来。它也不是什么花哨的东西(如果你已经读过/有 head first java 2nd edition 那么我们在第 5/6 章)我宁愿你能把我链接到一个视频,该视频将显示需要做的事情的过程并进行解释,但任何事情都是有帮助的:我已经盯着这个编码看了几个星期了,有点脑残了.. .这是我目前所拥有的(接受来自用户的字符串);

ArrayList <String> colleges = new ArrayList <String> ( ) ;
String input;
Scanner scan = new Scanner(System.in) ;
while (true) {
System.out.println("Please enter your college (Press Enter twice to quit) ");
input = scan.nextLine();
if (input.equals ("")) {
break;
}
else {
colleges.add(input.toUpperCase () );
}// end of if else statement
}// end of while loop

System.out.println("The following " + colleges.size() + " colleges have been entered:");

for ( String college : colleges) {
System.out.println("\n" + college );
System.out.println("Character count: " + college.length( ) );
}// end of for each loop

最佳答案

这些是您需要的步骤:

  1. 创建自定义 Comparator<String> 根据长度对字符串进行排序。
  2. 通过将自定义比较器与 Collections.min() 结合使用,从您的列表中获取最短的字符串方法。

在最紧凑的版本中,您的代码可能如下所示(假设列表中没有 null 字符串):

String shortest = Collections.min(colleges, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});

关于java - 如何从 ArrayList (Java) 打印最短的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27121283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com