java机试必须了解的小程序

/**
	 * 随机生成4位不重复的数
	 * @return
	 */
	public static int randomNum() {
		
		List<Integer> list = new LinkedList<Integer>();
		
		for (int i=0; i<10; i++) {
			
		    list.add(i); //把数字0-9放入集合
		    
		}
		
		//取第一个不为0的数字
		//因为上面知道0在头位置,所以随机取1位置以后的一个数字
		int index = (int)(Math.random()*(list.size()-1)) + 1; //随机位置
		
		int data = list.remove(index); //取出随机位置的数字,并把数字从集合中删除,这样再取就不会重复
		
		Collections.shuffle(list); //随机打乱list的元素
		
		for (int i=0; i<3; i++) { //从集合中取3个数字
			
		    data = data*10 + list.get(i); 
		    
		}
		
		return data;
		
	}
	
	/**
	 * 随机生成指定位数的随机数(没有判断生成的数字中有无相同)
	 * @param digitStr 如果要生成一位digitStr=“#”、两位digitStr=“##”、以此类推
	 * @param digitNum 如果要生成1位digitNum=10、两位digitNum=100、以此类推
	 * @return
	 */
	public static int randomNum_(String digitStr, int digitNum) {
		
		DecimalFormat df = new DecimalFormat(digitStr);
		
		String tempRandNum = df.format(Math.random()*digitNum);
		
		return Integer.parseInt(tempRandNum);
		
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值