2014-12-07 4 views
-1

Я хочу знать, есть ли способ создать случайный генератор для создания 100000 ящиков всех размеров с использованием высоты и ширины? У меня нет никакого кода для этого, потому что я совершенно не знаю, как это сделать.Создание ящиков разных размеров

Thanks

+0

Вам необходимо сначала попробовать собственный код и перейти в stackoverflow, только если вы застряли. Требовать полного рабочего решения - это не совсем хорошая идея. – Gosu

+1

"* Я хочу знать, есть ли способ создать случайный генератор для создания 100000 ящиков всех разных размеров с использованием высоты и ширины? *« Да, надеюсь, что ответит на ваш вопрос. – Pshemo

+0

Некоторые могут задаться вопросом, что такое «ящик» здесь –

ответ

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; 
    } 
} 
Смежные вопросы