现在是在数组上,工作是做一个数字列表,然后它会显示这些数字的降序。
这是条件:嵌套循环和决定性结构。
我无法使用此代码:
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
我不知道该怎么做。有人帮助我,提前谢谢你。
答案 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]
的每个值。