【发布时间】:2018-03-08 09:53:18
【问题描述】:
公共类 SingelNumber {
public static void main(String[] args) {
int[] numList = {1,1,2,2,3,1,7,3};
System.out.print(singleNumber(numList));
}
public static int singleNumber(int[] nums) {
boolean dup = false;
int check = 0;
for (int i=0;i<nums.length;i++){
check =nums[i];
for (int j=i+1;j<nums.length;j++){
if (check==nums[j])
dup = true;
break;
}
}
if (dup==false)
return check;
}
}
我收到一个错误“此方法必须返回 int 类型的结果”。我不知道为什么,因为变量检查是一个 int。
【问题讨论】:
-
如果
if检查都没有通过,该方法会返回什么 -
如果
dup为真,那么您没有返回值。也不要在你的条件中明确检查布尔值,它已经是一个布尔值。改用if(!dup) -
您只在特定条件下返回
int。在其他情况下,您什么也不返回。修正你的代码格式,这将帮助你看到错误。
标签: java