使用基础:数组降序?

时间:2017-09-29 11:06:06

标签: java arrays

现在是在数组上,工作是做一个数字列表,然后它会显示这些数字的降序。

这是条件:嵌套循环和决定性结构。

我无法使用此代码:

for (iLoop = iNumber.length - 1; iLoop >= 0; iLoop--){
            System.out.println("" + iNumber[iLoop]);

因为它不会显示嵌套循环,也不会显示任何决定性结构。

我不能使用任何一种方法YET。只有第一个for循环才会为数组执行循环。接下来是我的代码:

        int iX, iY, iLoop;
        Scanner var = new Scanner(System.in);
        int[]iNumber = new int [10];
        for (int iIndex = 0; iIndex < iNumber.length; iIndex++){
            System.out.print("Enter a number: ");
            iNumber [iIndex] = var.nextInt();
        }
        for (iX = 0; iX < iNumber.length; iX++){
            for (iY = iX + 1; iY < iNumber.length; iY++){
                if (iNumber[iX] < iNumber[iY]){
                    iLoop = iNumber[iX];
                    iNumber[iX] = iNumber[iY];
                    iNumber[iY] = iLoop;
                }
            }
        System.out.println("" + iNumber);
        }
    }
}

现在,我现在无法想到为什么输出是:

[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752
[I@1909752

我不知道该怎么做。有人帮助我,提前谢谢你。

2 个答案:

答案 0 :(得分:1)

将iNumber []数组打印出循环:

    xpath=//ul[@id='select2-district-results']/li

答案 1 :(得分:1)

由于您通过在该点iNumber[iX]之后迭代元素,首先将最小值设置为iY = iX + 1来对数组进行排序。您只需打印iNumber[iX],每个内部循环将在该位置设置正确的值

for (iX = 0; iX < iNumber.length; iX++){
    for (iY = iX + 1; iY < iNumber.length; iY++){
        if (iNumber[iX] < iNumber[iY]){
            iLoop = iNumber[iX];
            iNumber[iX] = iNumber[iY];
            iNumber[iY] = iLoop;
        }
     }
    System.out.println("" + iNumber[iX]); //Print the actual value
}

在循环设置其值后,这将很好地打印iNumber[iX]的每个值。