给你一个比较简单的算法,需要取两次随即数第一次取1-100之间的一个随机数,如果是1-90之间直接最后结果就是1,如果是91-100之间,再次取2-100之间的随机数,取得的随机数就是最后的结果。 代码如下: public int getNumber(){ int result = 0; int temp = 0; Random random = new Random(); temp = random.nextInt(100); if(temp<90){ result = 1; }else{ result = random.nextInt(99)+1; } return result; }
错了,好像应该是 public int getNumber(){ int result = 0; int temp = 0; Random random = new Random(); temp = random.nextInt(100); if(temp<90){ result = 1; }else{ result = random.nextInt(99)+1; } return result; }
晕,又发错了,管理员要认为我是刷屏了。 public int getNumber(){ int result = 0; int temp = 0; Random random = new Random(); temp = random.nextInt(100); if(temp<90){ result = 1; }else{ result = random.nextInt(99)+2; //应该是+2 } return result; }
代码如下:
public int getNumber(){
int result = 0;
int temp = 0;
Random random = new Random();
temp = random.nextInt(100);
if(temp<90){
result = 1;
}else{
result = random.nextInt(99)+1;
}
return result;
}
int result = 0;
int temp = 0;
Random random = new Random();
temp = random.nextInt(100);
if(temp<90){
result = 1;
}else{
result = random.nextInt(99)+1;
}
return result;
}
public int getNumber(){
int result = 0;
int temp = 0;
Random random = new Random();
temp = random.nextInt(100);
if(temp<90){
result = 1;
}else{
result = random.nextInt(99)+2; //应该是+2
}
return result;
}
random.nextInt(99)+2;这里怎么是+2呢?
random.nextInt这个返回是多少?思想挺好的 呵呵 跟steedhorse 一样的
从1----100一共一百个整数,随机取出一个数。
要求是,取出1的概率是90%,其他没限制。
代码(java):
import java.until.random //导入包
public int num(){ //方法num
int a,b; //声明变量
a=(int)(Math.random()*10);//把0——9的随机数赋给a
if(a==0){//判断a,如果a是0(a有10%的可能是0)
b=2(int)(Math.random()*99//如果a 是0就不2--100的随机数赋给b
}else{
b=1;// 否则,把1赋给b
}
return b;//返回随机数b
}
就这样了,希望对你有用,是你想要的结果。