当前位置: 首页 > 知识库问答 >
问题:

保存字符的递归并向后显示[关闭]

王杰
2023-03-14

编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答问题。

我的问题是,

我必须使用递归来读取字符并保存它们。如果读取的字符是“x”或“X”,那么到目前为止我输入的所有字符都应该在显示屏上向后显示。

f. e.

字符1:a

人物2:c

字符3:7

字符4:x

“单词”是:x7ca

如何在不使用数组的情况下“保存”递归字符并向后打印它们?

谢谢你,i.a。

共有1个答案

沈伟
2023-03-14

如果递归所要做的只是打印出用户输入的字符,那么我看不出将它们保存在数组中有什么意义。这是因为您可以使用递归的工作方式,将方法调用分离为方法调用之前和之后发生的事情,以便为您执行此操作。以下代码适用于我:

public static void recursiveCharacters(Scanner sc) {
    System.out.print("Character: ");
    char current = sc.next().charAt(0);
    if (current == 'x' || current == 'X') {
        System.out.print("The word is: " + current);
        return;  // end the recursion
    }
    recursiveCharacters(sc);
    System.out.print(current);
}

因此,该方法的每次调用都会保存输入到自身的字符。当用户最终输入“x”或“x”时,我们只需结束递归,每次递归调用都会打印它在运行时保存的字符。这种使用递归打印字符的方式给我们一种错觉,即“单词”是按照您的要求向后打印的。

 类似资料:
  • 我的问题是, 我必须使用递归来读入字符并保存它们。如果读入字符是“x”或“x”,则我目前键入的所有字符都应在显示屏上向后显示。 f、 e。 字符1:a 字符2:c 字符3:7 字符4:x “单词”是:x7ca 如何在不使用数组的情况下“保存”递归字符并向后打印它们? 谢谢你I. A.

  • 我有一个字符串,需要将其拆分并存储在ArrayList中,如下所示;所有这些都使用Java7。 下面是我程序的输入; 我试图在这里实现的是一个ArrayList,如下所示,在它分组后。 我写了一个示例代码,但似乎没有将元素B分组到列表中。我们如何将这两个元素分组到列表中。 示例代码: 我得到下面的输出,其中elementB没有改变,而是重复自身。有人能给我指路吗 我们甚至可以考虑以下输入:

  • 首先,这是我的实体。 玩家: 团队: 正如已经说明的许多主题一样,您可以通过Jackson以多种方式避免WebService中的StackOverflow Exeption。 这很酷,除了JPA之外,在序列化之前,所有的实体都可以无限递归地构造另一个实体。这只是丑陋的ans请求需要更长的时间。检查这个截图:IntelliJ调试器 有办法解决吗?知道我希望根据endpoint获得不同的结果。示例:

  • 我在Jpa存储库中使用Spring Boot。我在循环中保存一些记录,在保存所有记录后,会打印下面的异常。 JAVAsql。SQLRecoverableException:oracle的Instruço Fechada。jdbc。驾驶员OracleClosedStatement。oracle上的getMaxRows(OracleClosedStatement.java:3578)~[ojdbc6-

  • 我做了一个桌子预订系统,我想显示预订的桌子,使人们不能选择相同的桌子和相同的时间,但我不确定如何做到这一点。有些词是荷兰语的,随便问吧。 这是在表中显示信息的代码。

  • 我正在尝试理解递归排序函数,它是mergesort算法的一部分。下面是我的代码,我几乎可以肯定它是正确的(通过在线课程)。 我理解合并的作用——它将每个子数组分解成两个较小的子数组,重复这个过程,直到子数组的长度为1(根据定义排序),然后合并。然而,这个排序函数用来完成这个任务的实际方法对我来说很难理解。也许是因为我不习惯递归函数,但是我想知道是否有人可以在第一次合并发生时阐明操作的顺序和参数是什