не проходит валидацию, хотя работает верно. Почему?
package com.javarush.task.task27.task2701;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Избавляемся от меток
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String string = reader.readLine();
String substring = reader.readLine();
if (isSubstringPresent(substring, string)) {
System.out.println("String: \n" + substring + "\nis present in the string: \n" + string);
} else {
System.out.println("String: \n" + substring + "\nis not present in the string: \n" + string);
}
}
static boolean isSubstringPresent(String substring, String string) {
for (int i = 0; i < string.length(); i++) {
if (string.charAt(i) == substring.charAt(0)) {
int j = 0;
while (j < (substring.length()) && string.charAt(i + j) == substring.charAt(j)) {
j++;
if (j == substring.length()) {
return true;
}
}
}
}
return false;
}
}
/* for(int i=0; i<string.length(); i++){
if(string.charAt(i)==substring.charAt(0)){
for(int j=0; j<substring.length(); j++){
if(string.charAt(i+j)==substring.charAt(j)){
if(j==substring.length()-1){
return true;
}
continue;
}
}
}
}
return false;*/
/* boolean found = false;
int max = string.length() - substring.length();
label:
for (int i = 0; i <= max; i++) {
int length = substring.length();
int j = i;
int k = 0;
while (length-- != 0) {
if (string.charAt(j++) != substring.charAt(k++)) {
continue label;
}
}
found = true;
break label;
}
return found;*/
// }