我想问关于java随机数的问题,这两个随机获取哪个好?

问题描述

我想问关于java随机数的问题,这两个随机获取哪个好?

第一个:
public static void SuiJiZiFuChuan(int x, int y)
{
for (int j = 0; j < y; j++)
{
for (int i = 0; i < x; i++)
{
int a = (int) (100 * Math.random() + 100 * Math.random());
//区别在这里,那个好
while (true)
{
if (a > 96 & a < 123)
break;
else
a = (int) (100 * Math.random() + 100 * Math.random());
}
System.out.print((char) a);
}
System.out.println();
}

第二个:
public static void SuiJiZiFuChuan(int x, int y)
{
for (int j = 0; j < y; j++)
{
for (int i = 0; i < x; i++)
{
int a = (int) (123 * Math.random() );//区别在这里
while (true)
{
if (a > 96 & a < 123)
break;
else
a = (int) (123 * Math.random());
}
System.out.print((char) a);
}
System.out.println();
}
}

这两个都是获取随机小字母,哪一个效益好

解决方案

这个你可以自己测试一下,让他们重复生成一万次,看那个效率更高

解决方案二:

96+26*Math.random不要浪费时间来做判断,while去掉

解决方案三:

个人感觉第二个好一些。可以测试下哪个产生符合条件的随机数时所执行的循环次数少。

解决方案四:

一般用的话都差不多吧

解决方案五:

不懂你为什么要那样生成随机数,直接将随机数生成到[0,26)不是更高吗?

时间: 2025-01-26 18:30:30

我想问关于java随机数的问题,这两个随机获取哪个好?的相关文章

想问一下Java中常用的配置文件保存格式。例如:我的程序中可以添加很多FTP的信息,我想问一下这些FTP信息最常用什么格式保存成文件?

问题描述 想问一下Java中常用的配置文件保存格式.例如:我的程序中可以添加很多FTP的信息,我想问一下这些FTP信息最常用什么格式保存成文件? 解决方案 解决方案二:我一般用xml文件来保存,用Properties这个类来读取解决方案三:一般用XML文件吧.我用XML保存,用DOM4J来读写

返回值 异常-想问下java返回值的问题,可能有点白目大家帮帮忙

问题描述 想问下java返回值的问题,可能有点白目大家帮帮忙 private String getBookByName(String[] books){ System.out.println("请输入书名:"); book=input.next(); for(int i=0;i<books.length;i++){ if(book.equals(books[i])){ return books[i]; }else{ return null; } } 之前没写else提示我没返回值

java类的问题-问点java的基础常识,两个类定义的时候将对方作为自己的成员变量的好处在哪?

问题描述 问点java的基础常识,两个类定义的时候将对方作为自己的成员变量的好处在哪? 没学过java,但是又急着看一份java源码,碰到了一个我没办法理解的问题,就是在java定义了两个类,定义的时候两个个类将对方作为自己的成员变量,同时类可以引用对方的成员变量.这样做是很正常的吗?好处在哪里? 示例如下; class a { b XX; } class b { a XX; } 解决方案 这样做很正常.有时候需要将获得的一些属性封装到另一个类中,或者是需要用到另一个类的方法或者是属性.封装性,

想问一个java缓冲区的问题

问题描述 FileInputStreamf1=newFileInputStream("1.txt");BufferedInputStreambuf=newBufferedInputStream(f1);我想知道在执行这两个语句结束后,BufferedInputStream所带的缓冲区里面是不是就已经有1.txt文件中的数据了,接下来用buf.read()来读取数据时是不是从这个缓冲区读取数据啊主要就是硬盘文件到BufferedInputStream所带的缓冲区直接的连接有点问题 解决方

垃圾回收- 新人学java 想问一下怎么把创建的对象给清空

问题描述 新人学java 想问一下怎么把创建的对象给清空 这个我想问一下我不是已经让他等于null了吗 怎么还可以执行sayhello 如果有错误的话还麻烦告诉一下我需要创建大量相同的对象 怎么能不通过垃圾回收手动清空这个对象 解决方案 java是值传递,而不是引用传递. 如你的程序:是将内存空间中cc所指向的那个存储单元中存放的值,即c对象传送给了remove()方法中的x变量,而这个c对象也在内存空间中分配了一个存储单元,这个时候,就把c的对象传送给了这个存储单元中.此后,在remove()

另外我想问Java 环境下 怎么做域名映射到 Java环境的工程 ?配置网站映射IP和域名问题

各位大神:请问 服务上配置本地程序能访问网站,但是用tomcat发布网站却不行,不知道怎么讲域名和IP地址进行映射(IP地址已经解析过),以前用IIS发布可以,现在不想用IIS(我用的是java语言),想直接用apache和tomcat配置发布网站可以吗?但是tomcat配置好了,域名和IP都指定了,但是还是不行,请查看什么问题,谢谢. 另外我想问Java 环境下 怎么做域名映射到 Java环境的工程 ?

java-我想问一下,用Java语言,利用pdfBox将pdf转为图片,怎样才能使图片不失真

问题描述 我想问一下,用Java语言,利用pdfBox将pdf转为图片,怎样才能使图片不失真 我用pdfBox将pdf转成图片的时候,图片中的文字有点不清晰,请问怎样才能使图片不失真,或者提高一下图片的清晰度呢,请问有谁知道的,帮忙解决一下,谢谢了 解决方案 首先用pdf阅读器看下,确认下你的pdf不是扫描件,或者分辨率足够. 如果可以,调整输出分辨率. imageWriter.writeImage(document, imageFormat, password, startPage, endP

在做一个游戏,想问java有没有类似图层功能

问题描述 在做一个游戏,想问java有没有类似图层功能 目前已知情报 1.好像有个叫JlayerdPane的 2.我的目标是顶层游戏主体用panel话,中层添加视频,底层添加图片 3.问题有两个: 一是用media只能放在frame上面?我想加在panel上,否则添加panel的时候就被覆盖掉了 二是把panel设置成背景透明的,通过 panel.setBackground(null); // 把背景设置为会 panel.setOpaque(false); // 设置为透明 不知道在一的条件下能

swing-小弟想问一下,当前用来开发JAVA图形界面的主流是什么??

问题描述 小弟想问一下,当前用来开发JAVA图形界面的主流是什么?? AWT,SWT,SWING这三种哪个用户比较多?求各位前辈解答, 解决方案 swing用的比较多 解决方案二: swing 用的人多,但是比较麻烦 解决方案三: swing 用的人多,但是比较麻烦 解决方案四: swing 用的人多,但是比较麻烦 解决方案五: java web的整个流程是可以的. 解决方案六: java web的整个流程是可以的. 解决方案七: 现在都是搞java web开发了 没人用swing了 解决方案八