java中如何生成随机数?

java中如何生成随机数?

package com.test.util;


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


public class CharacterUtils {


/**
* 第一种方法;length为产生的位数
*/
public static String getRandomString(int length)throws NumberFormatException{
//定义一个字符串(A-Z,a-z,0-9)即62位;
String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//String str="1234567890";
//由Random生成随机数
Random random=new Random();

StringBuffer sb=new StringBuffer();
//长度为几就循环几次
for(int i=0; i<length; ++i){
//产生0-61的数字
int number=random.nextInt(62);
//将产生的数字通过length次承载到sb中
sb.append(str.charAt(number));
}
//将承载的字符转换成字符串
return sb.toString();
}


/**
* 第二种方法
*/
public static String getRandomString2(int length){
//产生随机数
Random random=new Random();
StringBuffer sb=new StringBuffer();
//循环length次
for(int i=0; i<length; i++){
//产生0-2个随机数,既与a-z,A-Z,0-9三种可能
int number=random.nextInt(3);
long result=0;

switch(number){
//如果number产生的是数字0;
case 0:
//产生A-Z的ASCII码
result=Math.round(Math.random()*25+65);
//将ASCII码转换成字符
sb.append(String.valueOf((char)result));
break;
case 1:
//产生a-z的ASCII码
result=Math.round(Math.random()*25+97);
sb.append(String.valueOf((char)result));
break;
case 2:
//产生0-9的数字
sb.append(String.valueOf(new Random().nextInt(10)));
break;
}
}
return sb.toString();
}

public static void main(String[] args) {


// Long lon=new Long(Long.parseLong(getRandomString(4)));
//System.out.println(">>>>>>>"+lon);

for(int i=0; i<5000000;++i){
Date date=new Date();
String sf = new SimpleDateFormat("yyMMddhhmmss").format(date);
String strid2=sf+getRandomString(4);
// System.out.println("+++++++"+strid2);
long id=Long.parseLong(strid2);
System.out.println(">>>>>>>"+id);
}



// String i="1234567890134456";
// long id=Long.parseLong(i);



}


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode132. 分割回文串 II

给定一个字符串 s&#xff0c;将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回符合要求的最少分割次数。 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。 思路&#xff1a;dp[i]…

为什么需要智能指针

参考自https://www.cnblogs.com/round1/p/12906648.html 主要为了避免以下Bug: 内存泄露 &#xff1a;对象无法被释放&#xff0c;最常见的问题。野指针 &#xff1a; 指针指向未知。重复释放 : 顾名思义。 &#xff08;一&#xff09;内存泄露 : 1. 抛出异常&…

leetcode1068. 产品销售分析 I(SQL)

销售表 Sales&#xff1a; -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- (sale_id, year) 是销售表…

多进程与多线程通信同步机制

多进程通信方式 管道pipe&#xff1a;管道是一种半双工的通信方式&#xff0c;数据只能单向流动&#xff0c;而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道FIFO&#xff1a;有名管道也是半双工的通信方式&#xff0c;但是它允许无亲缘关…

leetcode1069. 产品销售分析 II(SQL)

销售表&#xff1a;Sales -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- sale_id 是这个表的主键。…

leetcode1070. 产品销售分析 III(SQL)

销售表 Sales&#xff1a; -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- sale_id 是此表的主键。 …

C/C++中static的用法全局变量与局部变量

转载自C/C中static的用法全局变量与局部变量 1.什么是static? static 是C/C中很常用的修饰符&#xff0c;它被用来控制变量的存储方式和可见性。 1.1static的引入 我们知道在函数内部定义的变量&#xff0c;当程序执行到它的定义处时&#xff0c;编译器为它在栈上分配空间&…

查看商品图片,鼠标悬浮图片放大js实现

2010-06-07 10:18:46|分类&#xff1a;Javascript|字号订阅 <%pagelanguage"java"import"java.util.*"pageEncoding"UTF-8"%> <%pageimport"com.pojo.Products"%> <% String path request.getContextPath(); String b…

leetcode547. 朋友圈

班上有 N 名学生。其中有些人是朋友&#xff0c;有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友&#xff0c;B 是 C 的朋友&#xff0c;那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈&#xff0c;是指所有朋友的集合。 给定一个 N * N 的矩阵 M&#xff0c;表…

C++中volatile关键字

转载https://blog.csdn.net/weixin_44363885/article/details/92838607 一、volatile介绍 volatile提醒编译器它后面所定义的变量随时都有可能改变&#xff0c;因此编译后的程序每次需要存储或读取这个变量的时候&#xff0c;都会直接从变量地址中读取数据。如果没有volatile…

leetcode261. 以图判树

给定从 0 到 n-1 标号的 n 个结点&#xff0c;和一个无向边列表&#xff08;每条边以结点对来表示&#xff09;&#xff0c;请编写一个函数用来判断这些边是否能够形成一个合法有效的树结构。 示例 1&#xff1a; 输入: n 5, 边列表 edges [[0,1], [0,2], [0,3], [1,4]] 输…

leetcode323. 无向图中连通分量的数目

给定编号从 0 到 n-1 的 n 个节点和一个无向边列表&#xff08;每条边都是一对节点&#xff09;&#xff0c;请编写一个函数来计算无向图中连通分量的数目。 示例 1: 输入: n 5 和 edges [[0, 1], [1, 2], [3, 4]] 0 3 | | 1 --- 2 4 输出…

leetcode79. 单词搜索 网格地图搜索+回溯经典写法啦

给定一个二维网格和一个单词&#xff0c;找出该单词是否存在于网格中。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board [ [A,B,C…

leetcode1075. 项目员工 I(SQL)

项目表 Project&#xff1a; ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- 主键为 (project_id, employee_id)。 employee_id 是员工表 Employee 表的外键。 员工…

leetcode1082. 销售分析 I (SQL)

产品表&#xff1a;Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是这个表的主键. 销售表&#xff1a;Sale…

Oracle 获取当前日期及日期格式

Oracle 获取当前日期及日期格式 <wbr><wbr> 获取系统日期&#xff1a;<wbr><wbr><span style"padding:0px; margin:0px; color:rgb(255,0,0)">SYSDATE()<br style"padding-bottom:0px; padding-top:0px; padding-left:0px; ma…

leetcode1083. 销售分析 II(SQL)

Table: Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是这张表的主键 Table: Sales --------------------…

leetcode1084. 销售分析III(SQL)

Table: Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是这个表的主键 Table: Sales --------------------…

炸窝(Java)拼接

数组中插入相关练习 例题&#xff1a;定义一个方法 &#xff0c;将数组{1,2,3}按照指定的格式进行拼接成一个字符串 /*例题&#xff1a;定义一个方法 &#xff0c;将数组{1,2,3}按照指定的格式进行拼接成一个字符串&#xff0c; 格式定义如下[word1#word2#word3]. 思路分析&a…

leetcode71. 简化路径 Unix 风格

以 Unix 风格给出一个文件的绝对路径&#xff0c;你需要简化它。或者换句话说&#xff0c;将其转换为规范路径。 在 Unix 风格的文件系统中&#xff0c;一个点&#xff08;.&#xff09;表示当前目录本身&#xff1b;此外&#xff0c;两个点 &#xff08;..&#xff09; 表示将…