我收到了這條消息:當我完成一個關於在遞歸循環中反向打印字符串的練習時,作業的左側必須是變量。 我只想知道有人能提供解釋嗎? 錯誤信息出現在最後一行......我不明白,爲什麼? 有我的代碼:爲什麼在使用遞歸時我得到這個錯誤信息?
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'。 –