随机生成0~9十个数字,十个数字不重复(包含升序,降序)
2012-03-07 09:03
495 查看
最近写一个给用户输入的密码键盘,所以为了安全期间,写一个随机生成0~9的数字,每个不重复,废话不说了,直接贴出代码:
大家用的时候,直接run就可以了! 如果有更好的,可以给我提供参考,谢谢了哦!
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就可以了! 如果有更好的,可以给我提供参考,谢谢了哦!
相关文章推荐
- 随机生成0~9十个数字,十个数字不重复(包含升序,降序)
- 网友提出的问题:随机生成十个数字,不重复。
- java中生成不重复随机的数字
- 0--100之间随机生成20个不重复数字
- java中生成不重复随机的数字
- Unity C# 随机生成的不重复的几个数字
- javascript自动生成包含数字与字符的随机字符串
- 生成8位随机不重复的数字编号
- java中生成不重复随机的数字
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- SQLServer如何快速生成100万条不重复的随机8位数字
- flash中随机产生20-100之间10个不同的数字,然后不能重复地随机取出这十个数字
- 随机生成十个不重复的整数
- java经典算法_033随机生成不重复的数字
- 随机生成10个不重复的0-100的数字
- 生成随机且不重复的怪物和数字
- java 一个int数组 长度为100 随机生成100个数 即1-100 将其插入进数组 插入的数字不能重复
- java生成4位不重复字符(包含大写字母、小写字母、数字)
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字