私は並べ替えられた配列を印刷するためにfor
とforeach
ループを使用しようとします。しかし、私は、for
とforeach
ループは、同じ配列の異なる値を出力することがわかります。私は何が間違っているのか理解できません。java foreach変更の要素
以下のコード:ここで
import java.util.Random;
class ArraysTest {
public static void main(String[] args) {
int[] myArray = new int[20];
Random rand = new Random();
System.out.println("*** Unsorted array ***");
// filling myArray by random int values
for(int i = 0; i < myArray.length; i++) {
myArray[i] = (rand.nextInt(i+1));
System.out.print(myArray[i] + " ");
} System.out.println("\n");
// sorting myArray
java.util.Arrays.parallelSort(myArray);
System.out.println("*** Sorted array \"for-loop\" ***");
// printing values in console with for-loop
for(int i = 0; i < myArray.length; i++) {
System.out.print(myArray[i] + " ");
} System.out.println("\n");
System.out.println("*** Sorted array \"foreach-loop\" ***");
// printing values in console with foreach-loop
for(int j : myArray) {
System.out.print(myArray[j] + " ");
}
}
}
が出てコンソールです:
*** Unsorted array ***
0 1 1 3 3 1 5 1 7 4 2 0 6 11 0 3 7 0 3 17
*** Sorted array "for-loop" ***
0 0 0 0 1 1 1 1 2 3 3 3 3 4 5 6 7 7 11 17
*** Sorted array "foreach-loop" ***
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 3 7
、jは値ではない指標であり、ちょうどJを印刷しよう); – MinMiguelM
うん、それは働いた!ありがとう! –