如何在输入中检测换行符

时间:2020-03-23 21:09:41

标签: java

我已进行了此练习,但是我很难找到赶上新路线的方法。你能帮我吗?

编写一个程序,该程序读取用户输入直到空行。对于每个非空字符串,程序将字符串按空格分隔,然后将包含av的段打印在新行上。 这是mycode:

public class AVClub {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> str = new ArrayList();
        String line;
        while (!(line = scanner.nextLine()).equals("")){
            str.add(line);     
        }
        for(int i=0; i<str.size();i++){
            if(str.get(i).contains("av")){
                System.out.println(str.get(i));
            }
        }

    }
}

1 个答案:

答案 0 :(得分:1)

以下要求已在您的代码中错误实现:

对于每个非空字符串,程序将字符串按空格分隔,然后 然后将包含av的片段打印在新行上。

应该是:

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> str = new ArrayList();
        String line;
        System.out.print("Enter sentences (blank line to terminate): ");
        while (!(line = scanner.nextLine()).equals("")) {
            str.add(line);
        }
        System.out.println("Words containig 'av' are: ");
        for (int i = 0; i < str.size(); i++) {
            line = str.get(i);
            String[] words = line.split("\\s+"); // Split the string on spaces
            for (String word : words) {
                if (word.contains("av")) {
                    System.out.println(word);
                }
            }
        }
    }
}

说明::您必须检查每个句子中的每个单词是否包含av。您的代码检查每个句子中的av

示例运行:

Enter sentences (blank line to terminate): harry is a good boy
my name is avinash
Is there any seats available in the aviation training
hello world

Words containig 'av' are: 
avinash
available
aviation

注意:如果您需要以不区分大小写的方式检查av,请按照if (word.toUpperCase().contains("AV"))进行操作。

相关问题