import java.util.Random; import java.util.Arrays;public class Main { public static void main(String[] args) { int a = 0, b = 1, c = 2, d = 3; int[] f = new int[] { a, b, c, d }; Random rand = new Random(); for (int i = 0; i < 3; i++) { int j = rand(f.length - i) + i; int temp = f[j]; f[j] = f[i]; f[i] = temp } System.out.println(Arrays.toString(f)); } }
import java.util.Random; import java.util.Arrays;public class Main { public static void main(String[] args) { int a = 0, b = 1, c = 2, d = 3; int[] f = new int[]{a, b, c, d}; Random rand = new Random(); for (int i = 0; i < 3; i++) { int j = rand.nextInt(f.length - i) + i; int temp = f[j]; f[j] = f[i]; f[i] = temp; } System.out.println(Arrays.toString(f)); } }
你可以用Math.random();在java.lang包中。这个函数,是随机生成0-1之间的数,所以Integer.parseInt(4*Math.random())就是随机生成0-3之间的数字,把这个数作为你数组的下标,这样应该就可以解决这个问题了吧
import java.util.Random;
import java.util.Arrays;public class Main { public static void main(String[] args) {
int a = 0, b = 1, c = 2, d = 3;
int[] f = new int[] { a, b, c, d };
Random rand = new Random();
for (int i = 0; i < 3; i++) {
int j = rand(f.length - i) + i;
int temp = f[j];
f[j] = f[i];
f[i] = temp
}
System.out.println(Arrays.toString(f));
}
}
import java.util.Arrays;public class Main { public static void main(String[] args) {
int a = 0, b = 1, c = 2, d = 3;
int[] f = new int[]{a, b, c, d};
Random rand = new Random();
for (int i = 0; i < 3; i++) {
int j = rand.nextInt(f.length - i) + i;
int temp = f[j];
f[j] = f[i];
f[i] = temp;
}
System.out.println(Arrays.toString(f));
}
}