給定一些分割符,給定一個待分割的字串,打印出分割之後最長的字串
阿新 • • 發佈:2020-09-10
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
/**
* 給定一些分割符,給定一個待分割的字串,打印出分割之後最長的字串(多個則換行輸出)
*/
public class TokenLongest {
public static void main(String[] args) {
String delimiters = ",. \"";
String str = "The string tokenizer class allows an application to break a string into tokens.";printTokenLongest(str, delimiters);
}
private static void printTokenLongest(String str, String delim) {
StringTokenizer stringTokenizer = new StringTokenizer(str, delim);
List<String> list = new ArrayList<>();
String temp;
int length, maxlength;
while (stringTokenizer.hasMoreTokens()) {temp = stringTokenizer.nextToken();
if (list.isEmpty()) {
list.add(temp);
} else if ((length = temp.length()) < (maxlength = list.get(0).length())) {
continue;
} else if (length > maxlength) {
list.clear();}
list.add(temp);
}
list.forEach(System.out::println);
}
}
/* 如有意見或建議,歡迎評論區留言;如發現程式碼有誤,歡迎批評指正 */