用java编写一个程序,在不使用数组的情况下检查给定字符串中是否存在子字符串

用java编写一个程序,在不使用数组的情况下检查给定字符串中是否存在子字符串,java,Java,为什么不使用contains(String)进行比较,而使用trim()删除字符串开头和结尾的空白字符 input:Hello enter subString lo output: not present **expected output** input: enter string :Hello enter subString: lo output: present its giving correct outpu

为什么不使用
contains(String)
进行比较,而使用
trim()
删除字符串开头和结尾的空白字符

    input:Hello
    enter subString
    lo
    output: not present
    **expected output**
    input:
    enter string :Hello
    enter subString: lo
    output: present
    its giving correct output for other input
    input:
    enter String:hello
    enter sub String: ello
    output:present
    **one more example**
    enter String
    hello
    enter:sub String
    l
    output:present
编辑

你可以一个字符一个字符地比较

String s,sub;

System.out.println("enter String");
s = sc.next().trim();

System.out.println("enter sub String");
sub = sc.next().trim();

if(s.contains(sub)){

    System.out.println("present");

}else{

    System.out.println("not present"); 

}
boolean isSubString=false;

对于(inti=0;i),我们必须在不使用contain()函数的情况下执行此程序,但您的答案很有用sir@ManjotSingh我编辑了我的答案,看一下。下次当你发布问题时,请告诉我们所有条件。
String s,sub;

System.out.println("enter String");
s = sc.next().trim();

System.out.println("enter sub String");
sub = sc.next().trim();

if(s.contains(sub)){

    System.out.println("present");

}else{

    System.out.println("not present"); 

}
boolean isSubString = false;

for(int i = 0; i <= s.length() - sub.length(); i++) {

    isSubString = true;

    for(int j = 0; j < sub.length(); j++) {

        if(s.charAt(i+j) != sub.charAt(j)) {

            isSubString = false;
            break;

        }

    }

    if(isSubString == true) {

        break;

    }

}

System.out.println(isSubString);