Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中数组中的数据连续性_Java - Fatal编程技术网

Java中数组中的数据连续性

Java中数组中的数据连续性,java,Java,我试图看看从数组位置0开始的任何数据序列是否连续,即数组[0]的数值为0,数组[1]的数值为1,依此类推。例如: private void isContiguous(int[] array, int position){ for(int i = 1; i < array.length; i ++){ if(!array[i].equals(null)){ long previous = this.extract

我试图看看从数组位置0开始的任何数据序列是否连续,即数组[0]的数值为0,数组[1]的数值为1,依此类推。例如:

    private void isContiguous(int[] array, int position){
        for(int i = 1; i < array.length; i ++){
            if(!array[i].equals(null)){
                long previous = this.extract_long(array[i - 1], OFFSET);
                long current = this.extract_long(array[i], OFFSET);
                    if((previousOffset/PACKET_LENGTH) < ){

                }
            }
        }
    }
private void是连续的(int[]数组,int位置){
for(int i=1;i

大概是我能想到的一般解决方案。这有点让我心烦意乱,所以我很高兴能得到一些帮助:)

首先,如果在数组中存储原始int,那么它们永远不会有空值!数组本身可能为空,但值不能为空! 其次,如果您只想检查数组[0]==0,数组[1]==1,数组[2]==2,那么您的代码应该如下所示:

private boolean isContiguous(int []array) {
 if( array == null ) return false;//a null array cannot be contiguous as it doesn't contain any elements!
 for( int i = 0; i < array.length; i++ )
  if( array[i] != i ) return false;
 return true;
}
私有布尔值是连续的(int[]数组){
if(array==null)返回false;//null数组不能是连续的,因为它不包含任何元素!
for(int i=0;i

这样不行吗

首先要做的是:

public static boolean isContiguous(int[] array) {
  for (int i = 0; i < array.length-1; i++) {
     if (array[i+1]-array[i] != 1) {
        return false;
     }
  }
  return true;
}
公共静态布尔值是连续的(int[]数组){
for(int i=0;i

(我不知道为什么需要位置、偏移量等,但上面的代码应该满足书面要求)

如果要检查某个内容是否为空,则应使用
something!=空
。因此,请将if行更改为
if(array[i]!=null)
。偏移量、提取和数据包链接是什么?不管怎样,如果要检查int值,为什么需要long…?即使阅读代码,我也不理解您的问题。提取长度和数据包长度从何而来?顺便说一句,
int
确实有一个equals()方法,而且从来都不是
null
@helios,
array
是一个
int[]
,所以你不能与
null
@samp比较,如果你知道这个数组的唯一有效组合是有一个给定的间距,那么为什么要有这个数组呢,你应该能够用一个简单的函数来计算每个值,并且没有数组可以验证。是的,伙计们,我有点忘了修改它,以便在一般设置中更合理。如果可能的话,忽略类型错误并关注问题。这是一个有趣的方法,但它不是一个通用的解决方案。占位符“int”可以是任何数字。我可能会再次问这个问题,因为我想我可能已经用垃圾代码把更多的人弄糊涂了。我会说空数组是连续的,因为空数组也是连续的。(). 为了避免讨论/混淆,最好抛出NullPointerException?这是最好的解决方案。谢谢:)@samp,如果这是解决方案,您根本不需要数组,而不是
array[n]
您可以只写
first\u value+n