【发布时间】:2021-09-20 21:48:14
【问题描述】:
所以,我是编程的超级新手,我需要实现一个方法,通过递归和返回这个 char 的索引,在字符串中找到一个 char,但是如果这个 char 不存在,它返回 -1。而且我不明白我怎么能做到这一点。我需要不进行递增。当我调用递归时,我可能不会加 1,但是如何在不创建“int index”的情况下返回找到的元素的索引。你能让我专注于正确的想法吗? enter image description here
附:据我了解,我是一步一步跳出递归,每次加1,但是值-1如何立即退出呢?
【问题讨论】:
-
递归调用该方法,检查结果是否为-1,那么你也返回-1,否则你得到的结果加1并返回。
-
你试过什么?你的代码在哪里?尝试在“调试模式”下运行代码并在多个位置添加断点。然后跟踪您的代码以检查发生了什么。一定会有所帮助
-
我做到了。我的问题是在“return -1”返回到“1 + 方法调用”位置之后,直到堆栈为空(据我所知)它被执行,而不是 -1 我得到 50
-
"P.S.据我了解,我是一步一步跳出递归的,每次加1,但是如何立即退出,值为-1呢?"如果你真的想有创意,你可以抛出一个异常,它仍然会通过调用堆栈,但它会起作用。将此视为一个有趣的想法,而不是在实际项目中实际完成的事情。