Java 如何递归地反转包含5个或更多字母的字符串中的单词?

Java 如何递归地反转包含5个或更多字母的字符串中的单词?,java,recursion,Java,Recursion,例如,如果我输入justkeepsweeling,我应该得到一个输出,比如justkeepgnimimws。我只是不知道如何检查字符串中哪个单词有5个或更多的字母,并将其反转并保留字符串的其余部分。我知道我没有编写太多代码,非常感谢任何帮助。我不打算解决这个问题,但会为您提供一种解决方法。 要在不使用拆分函数的情况下计算字符串中有多少个单词, 你必须做出这样的假设 -单词之间用空格隔开, 因为乔正在游泳 你有三个词, 我是如何在编程中做到这一点的。 -我将忽略空格, -我一找到这封信,就会把我的

例如,如果我输入justkeepsweeling,我应该得到一个输出,比如justkeepgnimimws。我只是不知道如何检查字符串中哪个单词有5个或更多的字母,并将其反转并保留字符串的其余部分。我知道我没有编写太多代码,非常感谢任何帮助。

我不打算解决这个问题,但会为您提供一种解决方法。 要在不使用拆分函数的情况下计算字符串中有多少个单词, 你必须做出这样的假设 -单词之间用空格隔开, 因为乔正在游泳 你有三个词, 我是如何在编程中做到这一点的。 -我将忽略空格, -我一找到这封信,就会把我的旗帜加一, -等待下一个空格,一旦我遇到空格,紧接着一个字母,我将再次增加我的标志1

现在你能做的是

传递角色直到遇到空格,计算长度,继续

一旦你能做到这一点 了解拆分字符串函数

请浏览Java基础知识。我已经为您编写了代码,以便您从中学习。以下是主要方法的代码

谷歌是你的朋友,
import java.util.Scanner;
public class FiveOrMore
{
public static void main(String [] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a sentence");
String n = sc.nextLine();
{
public static String moreAs(String n)
{
if(s2.length() <5)
{
return s2 ;
}
else
{
    Scanner sc = new Scanner(System.in);
    System.out.println("Please enter a sentence");
    String n = sc.nextLine();
    StringBuffer sbf = new StringBuffer();
    String[] arr = n.split(" ");
    int i=0;
    while(i<arr.length) {
        String str = arr[i];
        if(str.length() >= 5) {
            sbf.append(new StringBuffer(str).reverse());
        }else {
            sbf.append(str);
        }
        if(i<(arr.length-1))
            sbf.append(" ");
        i++;
    }
    System.out.println("Output String is "+sbf);
    sc.close();
public class JavaExample {

public static void main(String[] args) {
    String str = "Welcome to Beginnersbook";
    String reversed = reverseString(str);
    System.out.println("The reversed string is: " + reversed);
}

public static String reverseString(String str)
{
    if (str.isEmpty())
        return str;
    //Calling Function Recursively
    return reverseString(str.substring(1)) + str.charAt(0);
}
}