0

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

  1. 输入“computer”和“Comp”时,即使将所有内容都转换为小写也不行。
  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.");
}
4

1 回答 1

7

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

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

...不要修改 和 中的GivenStringSubString

您需要将它们修改为:

GivenString = GivenString.toLowerCase();
SubString = SubString.toLowerCase();
于 2013-04-20T19:55:36.140 回答