2015-12-22 120 views
-6
package com.nusecond.Code; 
import java.util.*; 

public class Code { 

    public static void main(String args[]){ 

     Random random=new Random(); 
     for(int j=10;j<=99;j++){   
      int num=random.nextInt(100) ; 
      //ssLong i=System.currentTimeMillis(); 
      //String result = String.format("%04d", i % 10000); 
      System.out.println("Code generated:" +num); 
     } 
    } 
} 

我想在10和99随机数发生器两位数

注意打印两位数的随机数:我想我每次运行程序时只有一个号码。

+0

运行程序时的一个数字意味着什么? –

+2

“我只需要一个号码”为什么你有一个从10到99的循环?这将给你89个数字介于0和99之间。 – Arc676

+0

可能的重复[在Java范围内生成随机整数](http://stackoverflow.com/questions/363681/generating-random-integers-in-a-range- with-java) –

回答

0

您可以使用此方法:

private static int showRandomInteger(int aStart, int aEnd, Random aRandom){ 
    if (aStart > aEnd) { 
     throw new IllegalArgumentException("Start cannot exceed End."); 
    } 
    //get the range, casting to long to avoid overflow problems 
    long range = (long)aEnd - (long)aStart + 1; 
    // compute a fraction of the range, 0 <= frac < range 
    long fraction = (long)(range * aRandom.nextDouble()); 
    int randomNumber = (int)(fraction + aStart);  
    return randomNumber; 
} 

的参数,你必须通过这种方法是:

  • aStart:你的初始值(即10,你的情况下)
  • aEnd :你的结局值(即你的情况为99)
  • aRandom:这将是的一个对象(Random random=new Random();
3

随机数字,如果您需要从某个数字开始,只需将该随机数字添加到该下限。传递给随机数的上限将是上限减去下限。

int num = random.nextInt(90) + 10; 
0

Random random = new Random();

//产生从10到90的随机整数,即2位随机数。

int abc = 10+random.nextInt(90);