我需要写一个函数,它将返回数组数据中元素的索引
添加我已经编写的代码:
public synchronized int indexOf(String element) {
for (String data : data) {
if (data.equals (element)) {
indexOf (element);
}
}
return indexOf (element);
}
我在indexof:method上得到了一个亮点 indexOf()
无限递归,只能通过抛出异常结束。。。你会推荐哪种例外情况?先谢谢你。
1条答案
按热度按时间42fyovps1#
如注解中所述,您的代码不会试图返回位置(int)。它只递归地调用自己,不管是否找到元素。
使用这种方法,您可能希望返回元素内部的正确位置,如果您在其中标识元素,那么您的代码不会跟踪您当前的位置。
我不确定这个问题是否适合于递归,但这是可能的。首先,还有两个非递归的解决方案。
只需调用list.indexof():
迭代:
到目前为止,我假设数据是一个列表。如果取而代之的是数组string[],您仍然可以迭代:
编辑
递归解决方案: