Java 如何检测输入中的换行符
有人给了我这个练习,但我很难找到一种方法来赶上新的路线。你能帮帮我吗 编写一个程序,读取用户输入直到出现空行。对于每个非空字符串,程序将字符串按空格分割,然后打印包含av的片段,每个片段在新行上。 这是mycode:Java 如何检测输入中的换行符,java,Java,有人给了我这个练习,但我很难找到一种方法来赶上新的路线。你能帮帮我吗 编写一个程序,读取用户输入直到出现空行。对于每个非空字符串,程序将字符串按空格分割,然后打印包含av的片段,每个片段在新行上。 这是mycode: public class AVClub { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ArrayList<St
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));
}
}
}
}
公共类俱乐部{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
ArrayList str=新的ArrayList();
弦线;
而(!(line=scanner.nextLine()).equals(“”){
str.add(行);
}
对于(int i=0;i而言,您的代码中错误地实现了以下要求:
对于每个非空字符串,程序将字符串按空格和空格进行拆分
然后打印包含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
,请按照If(word.toUpperCase().contains(“av”)
的方式进行检查。您的程序似乎正确地识别了空行。您是否发现情况并非如此?您已经使用scanner.nextLine()进行了检查引用的作业中没有关于“抓住新线”的内容。你在说什么?
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