gpt4 book ai didi

java - 如何找到字符串中最长的偶数单词

转载 作者:行者123 更新时间:2023-12-02 10:01:25 28 4
gpt4 key购买 nike

我需要在字符串中找到一个最长且偶数的单词。几个例子:

这句话是时候构建伟大的艺术了。这应该返回字符串time,因为它是最大even长度的单词,长度为4,它不是construct 因为构造的长度 9 是奇数。

此外,在是时候编写出色的代码的示例中。这应该返回字符串 Time,因为它是偶数,并且长度为偶数 4。它不会返回单词 code,因为 Time 首先出现。

        String[] array = sentence.split(" ");
String longestWord = " ";

for (int i = 0; i < array.length; i ++) {
if (array[i].length() >= longestWord.length()) {
longestWord = array[i];
}
}

System.out.println(longestWord);

我的代码成功打印了最长的单词,但是没有考虑最长的字符串长度是否为偶数以及它是否先出现。

我尝试在 for 循环中使用一些模数字符,但它没有跟踪最大的单词是否是偶数,如果不是,则移动到下一个最大的单词。

此外,我很难跟踪这个词是否先出现。

我尝试过的解释甚至是:

for (int i = 0; i < array.length; i ++) {
if (array[i].length() >= longestWord.length()) {
longestWord = array[i];
if (longestWord.length() % 2 != 0) {
break;
}
else {
longestWord = array[i];
}
}
}

最佳答案

您可以使用模运算符 (%) 来检查字符串长度是否为偶数:

string.length() % 2 == 0

要完成此操作,您可以使用 Arrays.stream()找到最长的偶数字符串:

String longestWord = Arrays.stream(sentence.split(" ")) // creates the stream with words
.filter(s -> s.length() % 2 == 0) // filters only the even length strings
.max(Comparator.comparingInt(String::length)) // finds the string with the max length
.orElse(" "); // returns " " if none string is found

关于java - 如何找到字符串中最长的偶数单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55599808/

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