这个问题在这里已经有答案了:
if/for/while中的“缺少返回语句”(7个答案)
8天前关门了。
导入java.util.arrays;
公共类解决方案{
public static int findDuplicate(int[] arr) {
int n=arr.length;
Arrays.sort(arr);
for(int i=0;i<n-1;i++)
{
if(arr[i]==arr[i+1])
{
return arr[i];
}
}
}
}
3条答案
按热度按时间kyks70gy1#
问题是,如果逻辑没有输入“if”,就不会返回任何内容。考虑添加一个默认值来返回。
你可以这样修改代码
oiopk7p52#
那是因为如果你的
arr[i]==arr[i+1]
never为true,函数不会返回任何内容,但必须返回某些内容,因此:fcg9iug33#
你需要处理没有复制品的情况。您可以返回-1,这是在string.indexof等位置使用的约定,也可以抛出异常,例如nosuchelementexception