2014-12-07 95 views
-1

我想知道是否有一种方法可以随意使用高度和宽度创建100000个不同大小的盒子? 我没有任何代码,因为我完全不知道如何做到这一点。创建不同大小的盒子

谢谢

+0

你必须先尝试一下自己的一些代码,并且只有在你被卡住时才会进入到stackoverflow。要求一个完整的工作解决方案并不是一个好主意。 – Gosu 2014-12-07 13:10:19

+1

“*我想知道是否有一种方法可以使用高度和宽度创建100000个不同大小的随机生成器?”是的,希望能回答您的问题。 – Pshemo 2014-12-07 13:10:54

+0

有些人可能想知道“盒子”在这里是什么 – 2014-12-07 13:14:14

回答

0

那么,这里的代码示例应该工作。

import java.util.Random; 


public final class Test { 

    public static final void main(String... aArgs){ 

     int arrayOfBoxes [][] = new int [10000][3]; 

     //if you like to use a range 
     int START = 1; 
     int END = 10000; 


     for (int i=0;i<10000;i++) 
     { 

      Random randomHeight = new Random(); 
      Random randomWidth = new Random(); 
      int width = GenerateRandomInteger(START, END, randomHeight); 
      int height = GenerateRandomInteger(START, END, randomWidth); 


      arrayOfBoxes[i][0] = i ; 
      arrayOfBoxes[i][1] = width ; 
      arrayOfBoxes[i][2] = height ; 

     } 
     for (int k=0;k<10000;k++){ 
      System.out.println("Box #"+ arrayOfBoxes[k][0]); 

       System.out.println("Width = " + arrayOfBoxes[k][1]); 
       System.out.println("Height = " + arrayOfBoxes[k][2]); 

     } 

    } 


    private static int GenerateRandomInteger(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; 
    } 
} 
相关问题