Подстрока с использованием рекурсии

#java #recursion #substring #computer-science

#java #рекурсия #подстрока #информатика

Вопрос:

Я пытаюсь реализовать свою собственную функцию substring (fromIndex, toIndex), используя рекурсию. Я перепробовал несколько способов сделать это, но все еще есть ошибки. Может кто-нибудь помочь мне с этим? Это мой код до сих пор:

 String s;
    RecursiveString(String myS){
        s=myS;
    }
String subString(int from, int to) {
        if(this.s.isEmpty())return "hi";
        else if(from==this.s.length()-1)return "";
        else if(from==to)return "error";
        return this.subString(from 1, to);
    }
 

пример:

 public static void main(String[] args) {
        RecursiveString rs=new RecursiveString("abcesf");
        System.out.println(rs.subString(2, 4));
    }
 

вывод: «ошибка»

Комментарии:

1. В: Не могли бы вы предоставить полный пример, который компилируется?

2. @paulsm4 Я только что добавил пример в свой код. В настоящее время он не работает должным образом.

Ответ №1:

Это решение работает для рекурсивных

 public class HelloWorld{

     public static void main(String []args){
        System.out.println("Hello World");
     
     RecursiveString.s = "HelloWorld";
        System.out.println(RecursiveString.subString(0,3));
        
     }
     public static class RecursiveString {
        public static String s;
        
        public static  String subString(int from, int to) {
            if(s.isEmpty())return "hi";
            else if(from==s.length()-1)return "";
            else if(from==to)return "";
            return s.charAt(from)   subString(from 1, to);
    }
}
}

 

ВЫВОД:

 Hello World
Hel
 

Комментарии:

1. Java — это не мой язык, я C # Guy..so просто измените его в соответствии с вашими потребностями.