`
lzkyo
  • 浏览: 466654 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java Random and Java Disabuse

    博客分类:
  • Java
阅读更多

一、Random

1、创建Random类型的对象:

 

Random random = new Random();//默认构造方法

Random random = new Random(10010010);//指定种子数字

 

2、生成随机数字:

 

生成随机整数:

int k = random.nextInt();

 

生成随机长整数:

long l = random.nextLong();

 

3、生成指定范围的数字:

 

例如生成0-10之间的随机数字:

 int k = random.nextInt();

int j = Math.abs(k % 10);

 

//直接方式:rand.nextInt(range);

int i =random.nextInt(10);

 

获得10-20之间的随机数字:

int k = random.nextInt();

int j = Math.abs(k % 10) + 10;

 

int i = (int)(Math.random()*1000)

 

random对象的nextInt(),nextInt(int n)说明:

 

int nextInt()
  返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。  有正有负。

int nextInt(int n)
  返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

 

4、next(int bits)

 

        next(n)产生2的n次方之内的随机数,next(32)产生2的32次方之内的随机数,就相当于nextInt()了。

 

5、setSeed(long seed)

 

       setSeed(long seed) 用于设定随机数的种子,即这里的seed。随机数种子的用处是:一般说来,这里的Random类产生随机数是伪随机数,是系统采用特定的算法生成出来的,方法是new两个Random类random1和random2。各自调用nextInt方法10次,我们可以看出,虽然各自产生的是随机数,但是两个Random类产生的随机数都是一样的。这就使得随机数存在着漏洞。

 

二、java disabuse

 

Java代码 复制代码
  1. /***********双括弧初始化:内层的花括号就是匿名类的初始化子句************/  
  2. @SuppressWarnings("unchecked")   
  3. private static Map map = new HashMap() {{      
  4.     put("id""20090501");      
  5.     put("name""name1");   
  6.     put("age","20");   
  7. }};     
  8.   
  9. private static final Set<String> set = new HashSet<String>() {{      
  10.        add("lucy");      
  11.        add("lily");      
  12.        add("frank");      
  13.        add("bruce");      
  14. }};     
  15.   
  16. public static void printSet(Set set){   
  17.     Iterator it = set.iterator();   
  18.     while(it.hasNext()){   
  19.         System.out.println(it.next());   
  20.     }   
  21. }   
  22.   
  23. public static void printMap(Map map) {    
  24.        for (Object key : map.keySet()) {      
  25.            System.out.println(key + ":" + map.get(key));      
  26.        }     
  27. }   
  28.   
  29. public static void printSelf() {   
  30.     // 正则表达式“.”可以匹配任何单个的字符,要转义   
  31.     System.out.println(JavaDisabuse.class.getName().replaceAll("\\.""/")   
  32.             + ".class");   
  33.     // java.util.regex.Pattern.quote。它接受一个字符串作为参数,并可以添加必   
  34.     // 需的转义字符,它将返回一个正则表达式字符串   
  35.     System.out.println(JavaDisabuse.class.getName().replaceAll(   
  36.             Pattern.quote("."), "/")+ ".class");   
  37.        
  38.     //java.util.regex.Matcher.quoteReplacement,它将字   
  39.     //符串转换成相应的替代字符串。   
  40.     System.out.println(JavaDisabuse.class.getName().replaceAll("\\.",   
  41.             Matcher.quoteReplacement(File.separator)) + ".class");   
  42.        
  43.     System.out.println(JavaDisabuse.class.getName().   
  44.             replace('.', File.separatorChar) + ".class");   
  45. }   
  46.   
  47. /** ***********提防溢出*************** */  
  48. public static void longDivision() {   
  49.     final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;// 乘完后(已溢出)转型   
  50.     final long MICROS_PER_DAY_L = 24L * 60 * 60 * 1000 * 1000;   
  51.     final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;   
  52.   
  53.     System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);// 5   
  54.     System.out.println(MICROS_PER_DAY_L / MILLIS_PER_DAY);// 1000   
  55. }   
  56.   
  57. /** ***********执行精确小数运算********* */  
  58. public static BigDecimal subtract(String arg0, String arg1) {   
  59.     // 问题在于1.1 这个数字不能被精确表示成为一个double,因此它被表示成为最   
  60.     // 接近它的double值。   
  61.     System.out.println(2.00 - 1.10);// 二进制浮点数的double运算:0.8999999999999999   
  62.     return new BigDecimal(arg0).subtract(new BigDecimal(arg1));// 0.90   
  63. }   
  64.   
  65. /** *******求奇数(莫用i%2==1,负数失效)********* */  
  66. public static boolean isOdd(int i) {   
  67.     return i % 2 != 0;   
  68. }   
  69.   
  70. public static boolean isOdd1(int i) {   
  71.     return (i & 1) != 0;   
  72. }  
分享到:
评论

相关推荐

    java_disabuse.rar_java disabuse

    "java_disabuse.rar_java disabuse"这个压缩包文件旨在帮助解决这些问题,通过实例来澄清常见的Java学习误区。 文档“java_disabuse.doc”可能包含了以下几个方面的重要知识点: 1. **基础语法**:Java的基础语法...

    To disabuse the map of the universe

    标题《To disabuse the map of the universe》和描述指向了一篇论文,作者为邓晓明,该论文通过线性膨胀超球面模型来解释宇宙地图上星系红移分布的现象。论文对SDSS观测数据进行了分析,揭示了星系密度分布的规律,...

    CracktheGRE(完整版)[借鉴].pdf

    17. disabuse:纠正误解。在讲解技术概念时,确保信息准确无误,避免误导他人。 18. discordant:不协调的。在团队协作中,保持沟通和谐,解决不同意见之间的冲突。 19. disparate:本质不同的。比较不同技术解决...

    WorkerError(解决方案).md

    项目中常见的问题,记录一下解决方案

    2024-2025第一学期一上U1~3.pdf

    2024-2025第一学期一上U1~3.pdf

    Redis详解与常见问题解决方案中文最新版本

    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。感兴趣的朋友可以过来看看

    ASP+ACCESS航班在线定票系统设计(源代码+论文)(源代码+论文+说明文档).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    全国月尺度平均气温-Tm-1961-2022-025x025

    全国月尺度平均气温数据集(1961-2022, 0.25° × 0.25°)是一个高分辨率的网格化平均气温数据集,覆盖了中国大陆及周边地区。 该数据集通过科学方法整合气象观测和再分析数据,为气候研究、生态模型、农业生产、以及水资源管理等领域提供了重要支持。 数据下载后可显示详细信息。

    yolo算法-筷子数据集-588张图像带标签-.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

    shell脚本编程实践,分享给有需要的人,仅供参考

    模拟退火算法shell脚本编程实践,分享给有需要的人,仅供参考。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    基于PCIe接口的高性能视频编辑系统.docx

    基于PCIe接口的高性能视频编辑系统

    python爬虫入门,分享给有需要的人,仅供参考

    python爬虫入门,分享给有需要的人,仅供参考。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    在线音乐网站的设计与实现

    在线音乐网站的设计与实现

    电工与电子技术课程标准.doc

    电工与电子技术课程标准.doc

    1-全国各地级市人口、城镇居民人均可支配收入、进出口总额、社会消费品零售总额2015-2021年-社科数据.zip

    根据搜索结果,以下是一条关于社科数据的内容介绍:本数据集涵盖了2015至2021年间全国各地级市的关键经济指标,包括人口数量、城镇居民人均可支配收入、进出口总额以及社会消费品零售总额。这些数据为研究区域经济发展提供了宝贵的信息资源,来源于各省市统计年鉴及国家统计局的官方数据,确保了数据的权威性和准确性。数据内容全面,缺失值较少,适合用于宏观经济分析、政策评估以及学术研究等多个领域。通过这些数据,研究者可以深入了解中国各地区在不同年份的经济表现和发展趋势。

    SessionStorageError(解决方案).md

    项目中常见的问题,记录一下解决方案

    yolo算法-大卡车数据集-96张图像带标签--卡车.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

    6.html

    6

    [net毕业设计]asp.net教师教学评价分析系统(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    IP破解(5):DWC-ddrctl-lpddr54(LPDDR4/4X/5控制器)

    S家LPDDR5/4/4X 控制器,针对功耗、延迟、带宽和面积进行了优化,支持 JEDEC 标准 LPDDR5、LPDDR4 和 LPDDR4X SDRAM。控制器通过 DFI 5.0 接口连接到 S家LPDDR5/4/4X PHY 或其他 LPDDR5/4/4X PHY,以创建一个完整的内存接口解决方案。S LPDDR5/4/4X 控制器包括软件配置寄存器,可通过 AMBA 3.0 APB 接口访问。 // Key Used : DWC-DDRCTL (IP access) // Key Used : DWC-LPDDR54-CONTROLLER (Add-on feature access: DWC LPDDR5/4/4X Controller) 注意:压缩包只有IP使用文档,完整IP及无加密SV代码压缩包有获取方式。

Global site tag (gtag.js) - Google Analytics