字符串中的Java子字符串

A C*_*A C 0 java string substring

我知道这个问题已被无数次问过......但我似乎无法让它发挥作用.问题是,

  1. 当输入"计算机"和"计算机"时,即使将所有内容转换为小写也无效.
  2. 如果字符串是一个句子(我添加一个空格),它实质上跳过子字符串代码并说"不在字符串中"..

感谢帮助.谢谢!

Scanner in=new Scanner(System.in);
System.out.println("\fEnter the main string:");

String GivenString=in.next();
System.out.println("Enter the substring :");

String SubString=in.next();

GivenString.toLowerCase();
SubString.toLowerCase();

if(GivenString.indexOf(SubString)!=-1)
{
    System.out.println("Substring is in the given string.");
}
else
{
    System.out.println("Substring is not in the given string.");
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*ffe 7

Strings是不可变的并toLowerCase()返回一个新String对象.这些线:

GivenString.toLowerCase();
SubString.toLowerCase();
Run Code Online (Sandbox Code Playgroud)

......不修改值GivenStringSubString.

您需要将它们修改为:

GivenString = GivenString.toLowerCase();
SubString = SubString.toLowerCase();
Run Code Online (Sandbox Code Playgroud)