我收到了这条消息:当我完成一个关于在递归循环中反向打印字符串的练习时,作业的左侧必须是变量。 我只想知道有人能提供解释吗? 错误信息出现在最后一行......我不明白,为什么? 有我的代码:为什么在使用递归时我得到这个错误信息?
import java.util.Scanner;
public class Excersise {
public static void main(String[] args) {
// Create a Scanner
Scanner input = new Scanner(System.in);
//Prompt the user to enter a string
System.out.print("Enter a string: ");
String s = input.nextLine();
reverseDisplay(s);
}
public static void reverseDisplay(String value) {
//Base case
if (value.length() < 2) {
System.out.println(value);
} else {
//Recursion
reverseDisplay(value.substring(1)) + value.charAt(0); <--error
}
}
}
reverseDisplay的返回类型为'void'打印。为char添加一个空值意味着什么? – FDinoff
再次查看此行** reverseDisplay(value.substring(1))+ value.charAt(0); ** < - 错误...您将一个空值添加到char! – Scorpion
我认为你应该用两行代替最后一行:'reverseDisplay(value.substring(1));'然后'System.out.print(value.charAt(0));'并且将'println'改为'if'分支中的'print'。 –