Я пытаюсь создать алгоритм, который будет проверять, является ли данная строка строкой для списка строк. Строка - это строка обложки для списка строк, если она содержит символы из каждой строки слева и справа в ней. Например, обложка для «дома» и «гостиницы» будет «ахогютцель», а примером не-обложки будет «ahogjsutel».for-loop не полностью итерируется
Проблема, с которой я столкнулся, заключается в том, что мой цикл for только завершает одну итерацию, прежде чем возвращает результат. Я пытаюсь пройти через каждую строку в списке один за другим, проверяя индекс каждого символа, чтобы сохранить порядок слева направо.
Любой совет, как изменить мой цикл for, чтобы алгоритм проходил через каждый символ в каждой строке, был бы очень полезен.
общественного класса StringProcessing {
//Array list to add list of strings for testing.
public static ArrayList<String> stringList = new ArrayList<>();
public static String list1 = "abc";
public static String list2 = "def";
//Algorithm to iterate through each word in stringList and test if it appears in the cover string
//by testing index values.
public static boolean isCover(String coverString){
boolean isCover = false;
stringList.add(list1);
stringList.add(list2);
int size = stringList.size();
int coverSize = coverString.length();
for (int i = 0; i < (size -1) ; i ++){
for (int j = 0; j<stringList.get(i).length(); j++){
if (coverString.indexOf(stringList.get(i).charAt(j)) < coverString.indexOf(stringList.get(i).charAt(j+1))){
return true;
}
else
return isCover;
}
}
return isCover;
}
public static void main(String[] args) {
//For loop only checks if a is before b, then returns true before checking the rest of the characters and strings.
System.out.println(StringProcessing.isCover("abfdec"));
}
}
Если цель вашей функции, чтобы проверить, является ли аргумент строка обложка, то почему вы Определив содержание 'stringList' внутри функции? Это будет иметь побочные эффекты, так как значение 'stringList' будет выходить за рамки каждого вызова функции. – scottb
Вы смогли это решить? – Perdomoff
@Perdomoff Мне удалось решить этот алгоритм и заставить его функционировать правильно, спасибо за все ваши данные. – Mickd94