用java.lang.Math.random()语句,随机输出{size:自定义参数}个数不重复并且按顺序从小到大排列(冒泡排序)

时间:2023-03-09 18:12:19
用java.lang.Math.random()语句,随机输出{size:自定义参数}个数不重复并且按顺序从小到大排列(冒泡排序)
package com.test;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.lang.Integer;
/**
* Created by Administrator on 2016/11/13.
*/
public class ClazzTest { public static void main(String [] args){
sort(5);
} //用Math.random()方法生产随机数
public static int createNO(){
//Math.random()生产随机数是0-1之间的小数,我这里生产1-10
int ran = (int) (10*Math.random());
return ran;
} //向random数组中添加size个不同的元素(size<10)
private static int[] random(int size){
int random[] = new int[size];
//定义一个布尔值的类型来控制是否要往random中添加数据
boolean flg = true;
for (int i =0 ;i<size;i++){
//while (true) 来控制数组中数值不一样
while(true){
//先获取一个随机数
//每次都要先设置为true,不然,如果i<size时,出现以下重复就会一直死循环了
flg = true;
int ran = createNO();
for (int j=0;j<=i;j++){
//判断random 数组中是否有该元素
if(random[j]==ran){
flg = false;
break;
}
}
//将新的随机数添加进随机数组中
if (flg == true){
random[i] = ran;
break;
} } } return random;
} public static void sort(int size){
//调用random()方法获取数组
int sortRandom[] = random(size);
int p;
//冒泡排序
for(int i = sortRandom.length-1;i>0;i--){
for(int j=0;j<i;j++) {
if (sortRandom[j]>sortRandom[j+1]){
p = sortRandom[j];
sortRandom[j] = sortRandom[j+1];
sortRandom[j+1] = p;
}
}
}
System.out.print("");
for (int i = 0; i < sortRandom.length; i++) {
System.out.println(sortRandom[i]);
}
}
}

用java.lang.Math.random()语句,随机输出{size:自定义参数}个数不重复并且按顺序从小到大排列(冒泡排序)