Topic: 随机数生成导致CPU利用率100%的问题

  Print this page

1.随机数生成导致CPU利用率100%的问题 Copy to clipboard
Posted by: zip2007
Posted on: 2007-11-22 13:52

import java.util.*;

public class Test3
{
public static void main(String[] args)
{
int[] n=new int[15];
int i=1;
n[0]=(int)(Math.random()*14+1);
while(i<n.length)
{
n[i]=(int)(Math.random()*14+1);
boolean b=true;
for(int k=0;k<i;k++)
{
if(n[i]==n[k])
{
b=false;
}
}
if(b==true)
{
i++;
}
}
for(int j=0;j<n.length;j++)
{
System.out.print(n[j]+" ");
}
}
}

如果我将数组大小定义为14,CPU可以快速计算出结果,但15就不行了,CPU一直处于100%,请问这是什么情况.我的CPU是AMD sempron 64位 2500+ 512内存

2.Re:随机数生成导致CPU利用率100%的问题 [Re: zip2007] Copy to clipboard
Posted by: andy_wang_5
Posted on: 2007-11-22 15:21

问题出在

if(b==true)
{
i++;
}


产生的随机数只能是1--14之间的整数,且不能重复。由于n[14]没有合适的数字,造成死循环

3.Re:随机数生成导致CPU利用率100%的问题 [Re: zip2007] Copy to clipboard
Posted by: zip2007
Posted on: 2007-11-25 01:37

兄弟 谢谢你了


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923