Я застрял в решении этой проблемы. Ниже приведено то, что я придумал больше всего:Java Wrtie a isSubstring Method
Вопрос: Напишите логический метод public static boolean isSubstring (String x, String y), который принимает две строки x и y в качестве аргументов и возвращает true, если только если String x является подстрока строки y. Строка x является подстрокой строки y тогда и только тогда, когда все символы из x появляются последовательно в y. Для этой проблемы единственными методами String, которые вы можете использовать, являются length() и charAt(). Если вы используете какие-либо другие методы String, вы не получите кредит на эту проблему.
import java.util.Scanner;
public class question {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter String 1:");
String String1 = input.nextLine();
System.out.print("Enter String 2:");
String String2 = input.nextLine();
if(isSubstring(String1,String2)){
System.out.println("True");
} else {
System.out.println("False");
}
}
public static boolean isSubstring(String x, String y) {
int count = 0, xIndex = 0, yIndex = 0;
boolean sub = false;
while(!sub && yIndex < y.length()){
if(y.charAt(yIndex) == x.charAt(yIndex)){
xIndex++;
count++;
} else {
if(count == x.length()){
sub = true;
}
}
yIndex++;
}
return sub;
}
}
Вне темы: классы начинаются с буквы верхнего регистра. – ManoDestra
Начните с написания слов, как вы собираетесь решить проблему. –
@Reis - какой конкретно вопрос? Работает ли опубликованный код, или есть ошибка, или выдает неправильный ответ в некоторых случаях? Пожалуйста, дайте нам конкретный вопрос ... – Hatley