你获取控制台输入的方法错了,应该用nextLine():获取下一行输入的数据
import java.io.IOException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws IOException {
Scanner sin = new Scanner(System.in);
String str1 = sin.nextLine();
String str2 = sin.nextLine();
if (str1.contains(str2))
System.out.println("Yes");
else
System.out.println("No");
}
}
例子:
对于next()方法:
next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符
例如:你输入:is-myname,然后输入空格,代表一次输入完毕,在输入is时完成第二次输入,这是将大约yes
Java程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str1, str2;
System.out.println("字符串1:");
str1 = scan.nextLine();
System.out.println("字符串2:");
str2 = scan.nextLine();
if(str1.indexOf(str2) >= 0) {
System.out.println("字符串 \"" + str2 + "\" 在字符串 \"" + str1 + "\" 中存在");
}
else {
System.out.println("字符串 \"" + str2 + "\" 在字符串 \"" + str1 + "\" 中不存在");
}
}
}
运行测试:
字符串1:
Lambda expressions let you express instances of single-method classes more compactly.
字符串2:
express
字符串 "express" 在字符串 "Lambda expressions let you express instances of single-method classes more compactly." 中存在
可以使用indexOf
~
~
~