zoukankan      html  css  js  c++  java
  • 用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]);
            }
        }
    }

  • 相关阅读:
    关于windows客户端网络编程 WSAAsyncSelect函数
    阻塞模式和非阻塞模式
    SRP6协议分析
    普通二叉树转换成二叉查找树方法
    使用openssl库进行开发
    类型转化,网络开发中常见的类型转化
    到底还能够称多久
    权限子系统小结
    使用ASP.NET AJAX开发服务器端事件通知器
    通用权限相关文档的下载
  • 原文地址:https://www.cnblogs.com/HendSame-JMZ/p/6062168.html
Copyright © 2011-2022 走看看