㈠ 用java语言怎么写随机产生1到33之间的数
使用(int)Math.random() *33+1
Math.random()是生成一个0到1之间的浮点类型数
乘以33后就是生成一个0到33之间的小数,然后取整,就是0到32了,然后+1
那么就是1到33之间的随机数了
㈡ 再次提问,用JAVA怎么生成32位的正的随机整数
public class Test {
//随机生成5个1至100之间的整数。显示这5个数的和以及平均值,然后从大到小显示。
public static void main(String[] args) {
int[] arr = new int[5];
int pingjun = 0;
for(int i = 0; i < arr.length; i++){
arr[i] = new java.util.Random().nextInt(100)+1;
pingjun += arr[i];
}
java.util.Arrays.sort(arr);
System.out.println("这五个数是:" + java.util.Arrays.toString(arr));
System.out.println("平均的值是:" + (pingjun / 5));
}
}
㈢ 关于java中随机数的问题
1.这里面的j[i]!=0和j[w]!=0,这里为什么要用阶乘呢
这不是阶乘啊 这个不等号
2.j[w]那段方法中,for循环里面的i<20是什么意思
作者的意图是通过20次循环肯定能找到6个偶数,其实是不对的
3.为什么要创建两个数组?既然输出的是j[w],j[i]是做什么的
EvenNum这个方法是多余的
稍微改下代码
public static int EvenNum2(int num1,int num2){
int s=0;
Random ran = new Random();
int[] j=new int[6];
int w=0;
while(w<6){
j[w]=num1+ran.nextInt(num2 - num1);
if (j[w]!=0&&j[w] % 2 == 0) {
System.out.println("打印2到32之间的偶数(不包括32)"+j[w]);
s += j[w];
w++;
}
}
return s;
}
public static void main(String[] args) {
System.out.println("和为:"+EvenNum2(2,32));
}
㈣ 为什么java中生成32位随机ID永远不会重复
java对象的散列码hashcode,有32位,有40亿的空间。
“永远不会重复”,没有说永远,好的散列函数在尽可能大的空间不重复。
个人认为。
1、可能重复,但重复后应该有处理机制。不担心重复。
2、在对象达到相当多的时候(比如10亿个),重复的几率才会变大。但实际使用上实时超过十万个对象的情况都不多。即很难重复。
㈤ java怎么产生一个32位的随机数
java使用uuid生成主键,uuid全局唯一标识符,可以保证随机,不重复
㈥ 用java写出 随机功能:1-32之中随机产生6个数,这6个数不能有重复的。 拜托各位大神啦!!!
摘要 package jiHe;
㈦ 为什么java中生成32位随机ID永远不会重复。
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在
同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址
、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部
分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同)
,时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),
UUID的唯一缺陷在于生成的结果串会比较长。
㈧ 用java写出 随机功能:1-32之中随机产生6个数,这6个数不能有重复的。 拜托各位大神啦!!!感谢!!
方案
代码
public class NumberDemo{
public static void main(String []args) {
int[] num=new int[6];
int[] vis=new int[33];//vis[0]---vis[32]
// vis[i]:0 1 vis[5]=0表示5之前没有出现过 vis[5]=1表示5之前出现过
int cnt = 0, tmp;
while(cnt < 6) {
tmp = (int)(Math.random()*32 + 1);
if(vis[tmp] == 0) {
num[cnt++] = tmp;
vis[tmp] = 1;
}
}
System.out.println(Arrays.toString(num));
}
}
运行结果:
㈨ Java如何实现随机数
可以使用Random类产生随机数,利用HashSet集合类过滤掉重复值,因为HashSet具有不重复性,重复的值,添加不成功,这样保证了集合里的数是唯一的。
以下代码供你参考一下:
packagecom.sd;
importjava.util.*;
publicclassRandomDemo{
publicstaticvoidmain(String[]args){
//HashSet类具有唯一性
Set<Integer>distinctNumbers=newHashSet<Integer>();
Randomrand=newRandom();
//通过循环产生6个不重复的100以内的整数
for(inti=0;i<6;i++)
if(distinctNumbers.add(newInteger(rand.nextInt(100))));
System.out.println(distinctNumbers);
}
}
㈩ java随机生成字符串
代码如下:
import java.util.Random;
public class Demo {
public static void main(String args[]){
Demo demo = new Demo();
System.out.println(demo.getRandomString(20));
}
public static String getRandomString(int length) {
StringBuffer buffer = new StringBuffer("");
StringBuffer sb = new StringBuffer();
Random random = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++) {
sb.append(buffer.charAt(random.nextInt(range)));
}
return sb.toString();
}
}
代码解读:
调用getRandomString()方法时的length参数为要返回的随机字符串的长度。
StringBuffer buffer = new StringBuffer("");此段字符串代表要出现的字符还可以是其他字符
如:- + = * 。.等等