本问题已经有最佳答案,请猛点这里访问。

我正在尝试在基本数据类型short的范围内生成随机整数(-3276832767)。Java随机对象只生成正数。我该如何在那个时间间隔内随机创建数字呢?谢谢。

这让我想起了vb的rnd(),它只返回[0,1]中的值。

在Java中特定范围内如何生成随机整数的可能副本?

你随机抽取(0, 32767+32768),然后减去32768。

Random random=new Random();

int randomNumber=(random.nextInt(65536)-32768);

scala>def mynextpositivenumber:int=r.nextint(65536)-32768 mynextpositivenumber:int scala>println(mynextpositivenumber)-17761 scala>println(mynextpositivenumber)-26558 scala>scala>println(mynextpositivenumber)-17758 scala>println(mynextpositivenumber)-823 scala>println(mynextpositivenumber)17370

public static int generatRandomPositiveNegitiveValue(int max , int min) {

//Random rand = new Random();

int ii = -min + (int) (Math.random() * ((max - (-min)) + 1));

return ii;

}

你在哪里使用兰德?

例如,让我们以min=2和max=4为例。所以在最低随机数的情况下,假设0.001,*((4-(-2))+1)=7*0.001=(int)0.007=0,然后-2+0=-2。当最小值为2时,我们得到-2。这个公式出了点问题。

生成介于0和65535之间的数字,然后减去32768

这是一个我知道的老问题,但是…

n=n-(n*2)

这行不通。3=3-(3*2),3=-6.

错了。操作顺序。

不,还是不行。你的手术怎么样?

3-(3*2)=3-(6)=3

([my double compatible primitive type here])(math.random()*[my max value here]*(math.random()>0.5?)1:- 1)

例子:

// need a random number between -500 and +500

long myRandomLong = (long)(Math.random() * 500 * (Math.random() > 0.5 ? 1 : -1));

如果人们对双版本感兴趣(请注意,如果传递了max_值或min_值,则会出现这种情况):

private static final Random generator = new Random();

public static double random(double min, double max) {

return min + (generator.nextDouble() * (max - min));

}

(math.floor((math.random()*2))>0?1:-1)*math.floor((math.random()*32767))

java long 随机 正数_java中如何产生随机正负数相关推荐

  1. java stack 类 效率_Java中ArrayList、LinkedList、Vector、Stack的比较

    一.介绍 先回顾一下List的框架图 由图中的继承关系,可以知道,ArrayList.LinkedList.Vector.Stack都是List的四个实现类. AbstractList是一个抽象类,它 ...

  2. java int位运算_java中int的表示方法,位运算的解析

    随着时代的不断发展,越来越多的人开始投入到java的学习当中来.今天就来为大家介绍java中int的表示方法以及位运算的内容有哪些一起来看看吧. 首先我们需要知道的是,在java中,int是使用32位 ...

  3. java可以多重继承吗_Java中的多重继承与组合vs继承

    java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...

  4. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

  5. java 基本类型 引用_java中 引用类型 和 基本类型 有何区别?

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newa ...

  6. java构造器详解_Java中关于构造器的使用详解

    这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下 Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行 ...

  7. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  8. java多线程 线程安全_Java中的线程安全

    java多线程 线程安全 Thread Safety in Java is a very important topic. Java provides multi-threaded environme ...

  9. java 异常处理发生异常_Java中的异常处理

    java 异常处理发生异常 Exception Handling in Java is a very interesting topic. Exception is an error event th ...

最新文章

  1. android-仿QQtab
  2. sklearn自学指南(part53)--高斯过程
  3. java 常量池溢出_Java方法区和运行时常量池溢出问题分析(转)
  4. 刚刚!老干妈发布警方通报:3人伪造印章与腾讯签协议已刑拘,腾讯:辣椒酱不香了...
  5. android画图 旋转 地球*月球,unity3d怎么实现地球太阳月球转动-unity3d实现地球太阳月球转动的方法 - 河东软件园...
  6. 计算机中所有文字信息都是,计算机文字 计算机文字与信息处理
  7. 视频压缩基本介绍与标准
  8. 【PMP考试必读】100个定律
  9. 当C++遇上AUTOSAR编码规范,你的安全我来护航
  10. 并行计算、分布式计算、网格计算讲解
  11. 【跨语言剽窃检测】文本相似度分析之一
  12. Win7/R2 原生VHD 启动
  13. linux 模块 掉线重拨,arm中实现pppd连接GPRS上网的相关笔记,含GPRS自动拨号脚本(真正的实时监控,断线自动重拨)...
  14. 2021/6/24爬虫第二十八次课(爬取移动端数据前导知识)
  15. Grubbs Test
  16. C语言常见问题(11):a label can only be part of a statement and a declaration is not a statement
  17. 2023年大厂高频软件测试面试题:Web 测试 + 接口测试 +App 测试
  18. c++操作Office之ppt
  19. org 0x7c00解疑
  20. 数字孪生——复制同一个你

热门文章

  1. moment获取近期时间
  2. 数商云采购管理系统:阳光采购,高效降本
  3. 运算符-if语句-switch语句-循环语句-continue/break语句
  4. 最强辅助!IDA 辅助工具Karta——二进制文件中搜索开源代码
  5. STM8S_001_GPIO基础知识
  6. [USACO09MAR]向右看齐Look Up(单调栈、在线处理)
  7. 【Linux】文件系统管理
  8. 腾讯手游助手android文件夹,腾讯手游助手安装的apk在哪个文件夹?腾讯手游助手游戏安装目录介绍...
  9. PTA Sheldon的小本本
  10. android-percent-support-lib-sample