Я написал код рекурсии, но я не знаю, почему это не будет работать. (Я изменил некоторые из предыдущих ошибок, но он все равно не будет работать :()Простой код рекурсии, что не будет работать
проблема заключается в том:
Написать рекурсивный метод, который
печатает каждый символ строки обращенно дважды б doubleReverse («привет») печатает oolllleehh
код у меня есть до сих пор.. как указано ниже:
public class Recursion{
public static void main(String[] args) {
String s = "hello";
doubleReverse(s);
}
public static void doubleReverse(String s) {
if (s == null || s.equals("")){
return;
}
System.out.print(s.charAt(s.length()-1) + s.charAt(s.length()-1) + doubleReverse(s.substring(1)));
}
}
Ожидаемый результат doubleReverse("hello")
печатает oolllleehh
Выход я получаю: не будет компилировать
сообщениеОшибка: найдено
2 ошибки:
File: /Users/jaeahn/Desktop/CSCI /Practice/Recursion.java [line: 12]
Error: /Users/jaeahn/Desktop/CSCI /Practice/Recursion.java:12: reference to print is ambiguous, both method print(char[]) in java.io.PrintStream and method print(java.lang.String) in java.io.PrintStream match
File: /Users/jaeahn/Desktop/CSCI /Practice/Recursion.java [line: 12]
Error: /Users/jaeahn/Desktop/CSCI /Practice/Recursion.java:12: 'void' type not allowed here
Ну вы не можете вернуть 'void' на' метод String' –
's == ""', что теперь, как мы должны сравните строки: http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – Pshemo
Этот код ничего не печатает, вы забыли вставить больше кода? –