public class Test{
public static void main(String[]args){
int[] s= {1,2,4,5,6};
int temp = -65535;
for(int i = 0;i<s.length;i++){
if(i != 0) {
if(s[i] - temp != 1){
System.out.println((s[i]-1)+"不存在");
}
}
temp = s[i];
}
}
}
代码如上。如果最后再添加一个8的话也可以判断出来7不在。
前提是这个数组是int类型并且已经升序排列好了。
如果是乱序的数组在判断之前加一句Arrays.sort(s);即可
另:如果是连续的不存在的数字的话(如 int s[]={1,4,5,6,9}这样的数组)判断更加复杂,这里的代码没有给出