java 如何创建一个类或方法能够给出产生指定位数的一个随机数?
发布网友
发布时间:2022-05-01 17:43
我来回答
共5个回答
热心网友
时间:2023-10-23 10:02
可以用Math.random()函数生成一个随机数,然后检查位数,如果位数不符合要求,就重新生成一个随机数,下面的程序是一个实现。
public class RandomTest
{
public static int rand(int n)
{
int ans = 0;
while(Math.log10(ans)+1<n)
ans = (int)(Math.random()*Math.pow(10, n));
return ans;
}
public static void main(String[] args)
{
for(int i=0;i<1000;i++)
{
System.out.println(rand(4));
}
}
}
热心网友
时间:2023-10-23 10:03
具体的代码
/*
* 返回长度为【strLength】的随机数,在前面补0
*/
private static String getFixLenthString(int strLength) {
Random rm = new Random();
// 获得随机数
double pross = (1 + rm.nextDouble()) * Math.pow(10, strLength);
// 将获得的获得随机数转化为字符串
String fixLenthString = String.valueOf(pross);
// 返回固定的长度的随机数
return fixLenthString.substring(1, strLength + 1);
}
这么用
System.out.println(getFixLenthString(6));
i++;
追问请问是否能按照上面的方法给出一个十万位的“大数随机数”,谢谢!
热心网友
时间:2023-10-23 10:03
【俊狼猎英】团队为您解答~
感觉应该不难,比如说产生一个三位数
首先用(int)Math.Random()*1000产生一个0~999的整数,然后只要加一个判断,如果小于100,就再产生一次,如果符合条件返回就可以了
热心网友
时间:2023-10-23 10:04
static Random random=new Random();//生成随机数的对象
public static void main(String[] args) {
System.out.println(rand(5));
}
public static String rand(int count){
String result="";
for (int i = 0; i < count; i++) {
int number=random.nextInt(9);//随机生成0-9之间的数字
if(i==0&&number==0){
i--;//第一位数字不能为0
continue;
}
result+=number;
}
return result;
}
热心网友
时间:2023-10-23 10:04
按照这位网友的回答,稍加改动可能更合理一些。把产生数字的代码写成:(int)Math.Random() * 900 + 100;
这样得到的数字就是三位数:100到999了。
JVM详解基础篇之执行引擎(玩转Java,游刃有余)
HotSpot VM的名字就可以看出这是一款具备热点代码探测能力的虚拟机,所谓的热点代码也就是指调用次数比较多、执行比较频繁的代码,当某个方法的执行次数在一定时间内达到了规定的阈值,那么JIT则会对于该代码进行深度优化并将该方法直接编译成当前平台对应的机器码,以此提升Java程序执行时的性能。 一个被多次调用执行的方法...
区块链加密如何实现?
???伪随机数算法:例如TLS1.2的伪随机函数使用MAC算法的散列函数来创建一个主密钥——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。 ???在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。 ???握手/网络协商阶段: ???在双方进行...
问一个JAVA的小问题
publicclassPerson{Stringname;}publicclassSubextendsPerson{publicvoidSub(){System.out.println(name);}}在myeclipse中上面有一个黄色的小警告publicvoidSub(){在这一行出的thisme... public class Person{ String name;}public class Sub extends Person{ public void Sub(){ System.out.println(name); }}在...
java测试框架有哪些(常用的java语言测试框架)
1、使用框架进行单元测试Java能够提供单元测试方法的框架,在测试过程中,测试NG和JUnit是现在流行的测试框架。 JUnit和TestNG框架测试有几个重要功能:设置和运行很容易;允许忽略或分组,并一起运行多个测试;支持参数化测试,并且徐州IT培训发现能够通过在运行时指定不同的值来执行单元测试。 2、谨慎使用测试驱动开发测试驱...
Scala:解析器组合子与DSL
Scala:解析器组合子与DSL为了和MySQL数据库进行交互,我们的唯一方式是使用SQL语句,它是一个强大的,声明式编程的领域特定语言DSL。尝到"甜头"的我们希望自己能够创造一门微型语言,让它能够对某类文件
如何用JAVA实现一个代理服务器
例如,我们可以有一个企业的代理服务器,再加上一个用java编写的代理服务器,用来调试应用程序。但应该注意的是,代理服务器链上的每一个服务器都会对性能产生一定的影响。二、设计规划正如其名字所示,代理服务器只不过是一种特殊的服务器。和大多数服务器一样,如果要处理多个请求,代理服务器应该使用线程。下面是一个...
初学SSM框架感觉一团糟,希望这篇文章能帮到你!(Spring)
同样的在这里我们可以使用通过配置文件来存储类的全限定类名,存储的方式我们使用key-value形式。然后通过反射,通过key就能创建key对应的对象。从上面的项目结构图中可以看到一个bean.properties和一个工厂类,下面贴出这两部分代码,然后在说明一下。 public?class?BeanFactory1?{???//?定义一个Properties对象???private...
淘宝区块链如何操作,淘宝区块链如何操作的
这种区块链赚钱方式门槛太高。 区块链技术通俗讲解 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的一个重要概念,本质上是一个去中心化的数据库。同时,作为比特币的底层技术,它是由密码技术生成的一系列数据块。每个数据块包含一批比特币网络交易信息,用于验证其...
golang文件锁清除?
Get()到的对象是随机的。 原生sync.Pool的问题是,Pool中的对象会被GC清理掉,这使得sync.Pool只适合做简单地对象池,不适合作连接池。 pool创建时不能指定大小,没有数量限制。pool中对象会被GC清掉,只存在于两次GC之间。实现是pool的init方法注册了一个poolCleanup()函数,这个方法在GC之前执行,清空pool中的所有...
如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
1. 定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均成绩;4.同时输出所有学生信息 ;5.通过输入学生学号或姓名查询某学生的信息。如何实现上述功能? 展开 我来答 6个回答 #热议# 哪些癌症可能会遗传给下一代?匿名用户 2022-03-23 ...