Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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_Arrays - Fatal编程技术网

如何在Java中比较一个数组中的两个整数?

如何在Java中比较一个数组中的两个整数?,java,arrays,Java,Arrays,我是Java的初学者。我有一个整数数组:我想计算这个数组中有多少整数比紧跟其后的整数大。首先我想看看索引0处的整数,检查它是否大于索引1处的整数。然后我查看索引1处的整数,并检查它是否大于索引2处的整数。等等 到目前为止,我得到的是: int[] t = {1,5,6,4,3,10}; // create an array of integers int sum = 0; //initialize sum at 0 for (int i=0; i<t.length

我是Java的初学者。我有一个整数数组:我想计算这个数组中有多少整数比紧跟其后的整数大。首先我想看看索引0处的整数,检查它是否大于索引1处的整数。然后我查看索引1处的整数,并检查它是否大于索引2处的整数。等等

到目前为止,我得到的是:

    int[] t = {1,5,6,4,3,10}; // create an array of integers
    int sum = 0; //initialize sum at 0

    for (int i=0; i<t.length-1; i++) {
        for(int j = i+1; j<t.length; j++){
            if (t[i]>t[j]){                  //if i is bigger than j
                sum += 1;                   //add 1 to sum
                System.out.println(t[i]);
            }
    }

    }
    System.out.println(sum);
int[]t={1,5,6,4,3,10};//创建一个整数数组
整数和=0//将总和初始化为0

for(int i=0;i这在单个for循环中更容易实现

for (int i=0; i<t.length-1; i++){
    if (t[i]>t[i+1]){
        sum +=1;
        System.out.println(t[i]);
    }
}
for(int i=0;it[i+1]){
总和+=1;
系统输出println(t[i]);
}
}

目前,您所做的是对每个值
i
进行比较,并将其与后面的所有值进行比较,而不仅仅是下一个值。

这在单个for循环中更容易实现

for (int i=0; i<t.length-1; i++){
    if (t[i]>t[i+1]){
        sum +=1;
        System.out.println(t[i]);
    }
}
for(int i=0;it[i+1]){
总和+=1;
系统输出println(t[i]);
}
}

当前,您所做的是对每个值
i
进行比较,并将其与后面的所有值进行比较,而不仅仅是下一个值。

您希望它只检查下一个元素,但您正在检查最后的下一个元素

这就是当前代码所发生的情况

1,5,6,4,3,10

5 > 4
5 > 3
6 > 4
6 > 3
4 > 3
所以count=5

拆下内环并将条件更改为

if (t[i] < t[i+1]){
    sum += 1;
}
if(t[i]
您希望它只检查下一个元素,但您正在检查下一个元素到底

这就是当前代码所发生的情况

1,5,6,4,3,10

5 > 4
5 > 3
6 > 4
6 > 3
4 > 3
所以count=5

拆下内环并将条件更改为

if (t[i] < t[i+1]){
    sum += 1;
}
if(t[i]
第二个循环不是必需的。只需将i增加1,然后比较第i个和第(i+1)个元素。这应该如下所示:-

for (int i=0; i<t.length-1; i++) {
    if (t[i]>t[i+1]){                  //if i is bigger than i+1
            sum += 1;                   //add 1 to sum
        }
}
for(int i=0;it[i+1]){//如果i大于i+1
sum+=1;//将1添加到sum
}
}

第二个循环不是必需的。只需将i增加1,然后比较第i个和第(i+1)个元素。这应该如下所示:-

for (int i=0; i<t.length-1; i++) {
    if (t[i]>t[i+1]){                  //if i is bigger than i+1
            sum += 1;                   //add 1 to sum
        }
}
for(int i=0;it[i+1]){//如果i大于i+1
sum+=1;//将1添加到sum
}
}

所以双for循环检查当前元素和后面的每个元素…我理解现在发生了什么,谢谢你的解释!所以双for循环检查当前元素和后面的每个元素…我理解现在发生了什么,谢谢你的解释!