首页 > 解决方案 > 编写递归方法;反转字

问题描述

创建一个 java 程序,要求用户输入一个单词并使用递归方法反转它。它应该要求用户再试一次 y 或 n

我缺少代码,我不知道应该在第 14 行放什么。

package reverseword;
import java.util.Scanner;
public class ReverseWord {
    public static void main(String[] args) {
        String tryAgain = "Y";
        do{
        String reversedString = "";
        System.out.print("Enter string to reversed: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        reversedString = reverseString(input);
        System.out.println("Reversed String : "+reversedString);
        System.out.println("Try again? enter \"Y/N\": ");
        tryAgain = input.next();

        }while(!tryAgain.equals("N"));

    } 
    public static String reverseString(String input){
        if(input.isEmpty())
            return input;
        return reverseString(input.substring(1)) + input.charAt(0);
    }
}

输入要反转的字符串:lala 反转字符串:alal 再试一次?enter \"Y/N\": Y Enter string to reverse:

//如果答案是否定的:

输入要反转的字符串:lala 反转字符串:alal 再试一次?输入 \"Y/N\": N 再见!

标签: java

解决方案


我假设第 14 行是

tryAgain = input.next();

它无法编译,因为输入是字符串,您打算使用 Scanner sc。尝试这个:

tryAgain = sc.next();

推荐阅读