私はランダムに生成する整数を配列に作成し、配列内の要素をランダム化することを練習しています。数字を印刷するとすべてがうまくいきますが、ランダム化された要素を表示しているときに印刷されない要素があるようです。私が去っていくステップはありますか?表示されていない要素があるのはなぜですか?
public class shufflingArrays {
public static void main(String[] args) {
int[] myList = new int[10];
System.out.println("Numbers:");
for(int i = 0; i < myList.length; i++) {
myList[i] = (int)(Math.random() * 100);
System.out.print(myList[i] + " ");
}
System.out.println("\nRandomized:");
for (int i = myList.length - 1; i > 0; i--){
//Generate index j randomly with 0 <= j <= i
int j = (int)(Math.random() * (i + 1));
//Swap myList[i]; with myList[j]
int temp = myList[i];
myList[i] = myList[j];
myList[j] = temp;
System.out.print(myList[i] + " ");
}
}
ありがとうございます。このような小さなことのために、私はそのミスがどこにあったのか、何が何であったのかを認識できませんでした。私はそれを 'i> -1'に変更し、私が望むように印刷しました。どうしてこれなの? –
'i> -1'で' i == 0'を実行するので、その要素も印刷できます。 – Iluvatar