在 java 中打印包含 av 的字符串部分

printing parts of string that contains av in java

我正在尝试获取输入字符串并打印出包含 "av"

的单词

这是我的代码:

        while (true) {
        String jono = lukija.nextLine();
        String[] loydaAvSana = jono.split(" ");

        if (jono.isEmpty()) {
            System.out.println("loppu");
            break;

        }

        if(jono.contains("av")){
            for(int i = 0; i < loydaAvSana.length; i++){
                System.out.println(loydaAvSana[i]);
            }
        }

例如,如果我写:Hello World 它不应该做任何事情,但是当我写例如

"avaava ovi ava"

它应该打印:

avaava

艾娃

所以它应该得到包含 "av"

的字符串

我知道我应该使用 split 方法并且还包含方法,但我不知道如何只打印包含 "av"

的字符串

我的代码输出是这样的:

Hello world
ava ovi ava
ava
ovi
ava

在您的 for 循环中,您应该插入一个 if 语句来查看数组的第 i 个元素是否包含 "av,",类似于您检查整个字符串的方式。

while (true) {
    String jono = lukija.nextLine();
    if (jono.isEmpty()) {
        System.out.println("loppu");
        break;
    }

    if(jono.contains("av")){
        String[] loydaAvSana = jono.split(" ");
        for(int i = 0; i < loydaAvSana.length; i++){
            if (loydaAvSana[i].contains("av") {
                System.out.println(loydaAvSana[i]);
            }
        }
    }
}
  • 阅读下一行。
  • 如果为空,退出循环。
  • 否则,检查它是否包含"av"。
  • 如果是,将其拆分成单词。
  • 遍历所有单词。
  • 如果一个词包含 "av",则打印该词。