当前位置: 代码迷 >> Java相关 >> 生成6个54以内的随机数,还能改进吗
  详细解决方案

生成6个54以内的随机数,还能改进吗

热度:103   发布时间:2006-09-02 23:30:01.0
生成6个54以内的随机数,还能改进吗
生成6个54以内的随机数
import java.util.Random;
class DifferentRandomNum
{
public static void main(String[] args)
{
int[] records = new int[55];
int[] num = new int[6];
int tmp=0;
for(int i = 0;i<6;i++)
{
for(;;)
{
tmp = (int)(Math.random()*55);
if(records[tmp]==0)
{
num[i]=tmp;
records[tmp]++;
}
if(num[i]!=0)break;
}
}
for(int j = 0;j<6;j++)
System.out.println (num[j]);
}
}
搜索更多相关的解决方案: 随机数  改进  java  util  import  

----------------解决方案--------------------------------------------------------

import java.util.*;

public class Test {
public int rNumber() {
Random myRan = new Random();
return myRan.nextInt(55);
}

public static void main(String[] args) {
int[] array = new int[6];
for(int i=0;i<6;i++){
array[i] = new Test().rNumber();
System.out.print(" "+array[i]);
}
}
}


----------------解决方案--------------------------------------------------------
楼上的不够专业
这样写不更加合理么?

public static int[] getIntRandomArray(int n){
int[] array = new int[n];
Random random = new Random();
for(int i=0;i<array.length;array[i++]=random.nextInt());
return array;
}

[此贴子已经被作者于2006-9-3 10:02:26编辑过]


----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘在2006-9-3 9:43:33的发言:
楼上的不够专业
这样写不更加合理么?

public static int[] getIntRandomArray(int n){
int[] array = new int[n];
Random random = new Random();
for(int i=0;i<array.length;array[i++]=random.nextInt());
return array;
}

确实~~~!


----------------解决方案--------------------------------------------------------
能解释一下吗,看不懂啊
能解释一下吗,看不懂啊
----------------解决方案--------------------------------------------------------
忘记说了,是54以内的6个不同的数字
忘记说了,是54以内的6个不同的数字
----------------解决方案--------------------------------------------------------

以上运行出来的是6个不同的数字啊~!


----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘在2006-9-3 9:43:33的发言:
楼上的不够专业
这样写不更加合理么?

public static int[] getIntRandomArray(int n){
int[] array = new int[n];
Random random = new Random();
for(int i=0;i<array.length;array[i++]=random.nextInt());
return array;
}

弱问一下:加static的目的是不是为了避免函数调用完之后new 的int[n]不会被释放掉啊?
那么static里面的数据应该怎样释放呢?比如这个int[n],在调用完getIntRandomArray函数之后最后这n个int应该怎样释放掉呢?

[此贴子已经被作者于2006-9-5 1:16:30编辑过]


----------------解决方案--------------------------------------------------------
弱问一下:加static的目的是不是为了避免函数调用完之后new 的int[n]不会被释放掉啊?
---------------------------------------------------------------------------------------------------------------
是么?我不知道.....
我只知道这个方法不需要访问对象状态,对于我来说,能用静态就用...特别是在这种工具类上

根据垃圾处理机制,new 的int[n]会在不用的时候被垃圾回收器回收

----------------解决方案--------------------------------------------------------
学习了
----------------解决方案--------------------------------------------------------
  相关解决方案