zoukankan      html  css  js  c++  java
  • 随机生成0~9十个数字,十个数字不重复(包含升序,降序)

         最近写一个给用户输入的密码键盘,所以为了安全期间,写一个随机生成0~9的数字,每个不重复,废话不说了,直接贴出代码:

        
    import java.util.ArrayList;
    import java.util.List;
    /**
     * 随机得到10个数字<br>
     * 平且这10个数字都是0~9之间<br>
     * 这10个数字不会重复
     * @author spring sky<br>
     * Data:2012年3月6日 22:17:14
     * Email:vipa1888@163.com
     *
     */
    public class Number {
    	/**
    	 * 递归得到随机数字
    	 * @param list
    	 * @return
    	 */
    	public List<Integer> get(List<Integer> list)
    	{
    		if(list==null)
    		{
    			list = new ArrayList<Integer>();
    		}
    		if(list.size()<10)
    		{
    			int a = (int) (Math.random()*10);
    			if(!check(list, a))
    			{
    				list.add(a);
    			}
    			get(list);
    		}
    		return list;
    	}
    	/**
    	 * 检验List是否已经存在了
    	 * @param list
    	 * @param a
    	 * @return
    	 */
    	public boolean check(List<Integer> list,int a)
    	{
    		boolean b = false;
    		for (int j = 0; j < list.size(); j++) {
    			if(a == list.get(j))
    			{
    				b = true;
    				break;
    			}
    		}
    		return b;
    	}
    	
    	/**
    	 * 升序降序
    	 * @param os
    	 */
    	public static void toArray(int[] os){
    		for (int i = 0; i < os.length; i++) {
    			for(int j=0;j<os.length-i-1;j++){
    				
    				if(os[j]<os[j+1]){
    					int temp=os[j];
    					os[j]=os[j+1];
    					os[j+1]=temp;
    				}
    			}
    		}
    		System.out.print("降序得到的数字:");
    		for (int i = 0; i < os.length; i++) {
    			System.out.print(os[i]);
    			System.out.print("  ");
    		}
    		
    		for (int i = 0; i < os.length; i++) {
    			for(int j=0;j<os.length-i-1;j++){
    				
    				if(os[j]>os[j+1]){
    					int temp=os[j];
    					os[j]=os[j+1];
    					os[j+1]=temp;
    				}
    			}
    		}
    		System.out.println();
    		System.out.print("降序得到的数字:");
    		for (int i = 0; i < os.length; i++) {
    			System.out.print(os[i]);
    			System.out.print("  ");
    		}
    		
    	}
    	/**
    	 * 测试随机的结果
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		
    		List<Integer> myList = null;
    		Number n = new Number();
    		List<Integer> list = n.get(myList);
    		
    		int[] ints = new int[list.size()];
    		System.out.print("随机得到的数字:");
    		for (int i = 0; i < list.size(); i++) {
    			int aa = list.get(i);
    			ints[i] = aa;
    			System.out.print(aa);
    			System.out.print("  ");
    		}
    		System.out.println();
    		toArray(ints);
    	}
    }


     

    大家用的时候,直接run就可以了!   如果有更好的,可以给我提供参考,谢谢了哦!

  • 相关阅读:
    .net 5中配置Quartz集群
    .net 5中使用Quartz构建单机版定时任务器
    error: src refspec future does not match any
    .net core通过jenkins + gogs + docker实现自动化部署
    Format of the initialization string does not conform to specification starting at index 75
    .net core中解决vue使用axios请求接口时未携带cookie信息的处理
    .net core在Docker->Linux及Window平台环境变量的获取的兼容
    centos7.x中安装mysql
    使用docker部署.net core3.1时的Dockerfile写法(持续补充)
    ARTS-WEEK-019
  • 原文地址:https://www.cnblogs.com/springskyhome/p/3689934.html
Copyright © 2011-2022 走看看