怎样用java产生一个指定范围而且不重复的随机数?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 09:39:44
怎样用java产生一个指定范围而且不重复的随机数?
package test;
import java.util.Random;
public class RandomBirth {
\x09/**
\x09 * @param args
\x09 */
\x09public static void main(String[] args) {
\x09\x09Random random = new Random();
\x09\x09int a[] = new int[8];
\x09\x09for (int i = 0; i < a.length; i++) {
\x09\x09\x09//生成一个介于0到8的数字
\x09\x09\x09a[i] = random.nextInt(8);
\x09\x09\x09for (int j = 1; j < i; j++) {
\x09\x09\x09\x09while (a[i] == a[j]) {//如果重复,退回去重新生成随机数
\x09\x09\x09\x09\x09i--;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09}
\x09\x09for (int i = 0; i < a.length; i++) {
\x09\x09\x09System.out.println(a[i] +" ");
\x09\x09}
\x09}
}
再问: 还是重复了,我自己改了一下,成功了,,多谢 int a[] = new int[8]; a[0] = random.nextInt(8);for (int i = 1; i < a.length; i++) { a[i] = random.nextInt(8);for (int j = 0; j < i; j++) {while (a[i] == a[j]) { i--;}}
import java.util.Random;
public class RandomBirth {
\x09/**
\x09 * @param args
\x09 */
\x09public static void main(String[] args) {
\x09\x09Random random = new Random();
\x09\x09int a[] = new int[8];
\x09\x09for (int i = 0; i < a.length; i++) {
\x09\x09\x09//生成一个介于0到8的数字
\x09\x09\x09a[i] = random.nextInt(8);
\x09\x09\x09for (int j = 1; j < i; j++) {
\x09\x09\x09\x09while (a[i] == a[j]) {//如果重复,退回去重新生成随机数
\x09\x09\x09\x09\x09i--;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09}
\x09\x09for (int i = 0; i < a.length; i++) {
\x09\x09\x09System.out.println(a[i] +" ");
\x09\x09}
\x09}
}
再问: 还是重复了,我自己改了一下,成功了,,多谢 int a[] = new int[8]; a[0] = random.nextInt(8);for (int i = 1; i < a.length; i++) { a[i] = random.nextInt(8);for (int j = 0; j < i; j++) {while (a[i] == a[j]) { i--;}}