收银机java使用随机数生成器和队列结构

时间:2015-03-20 22:55:09

标签: java

我试图模拟随机数量的客户进入收银台。每个收银机只能容纳10个客户。在每个随机波浪期间,客户最多可以参加5行。

Random rand = new Random(20041995);

for (int j = 0; j < 10; j++)
{
    int pick = rand.nextInt(10);
    System.out.println(pick);
}

这是我正在使用的RNG,并且我正在尝试集成到标准队列结构中,以添加和删除列表中的项目。

1 个答案:

答案 0 :(得分:0)

这可能会指向正确的方向:

public static void main(String[] args) {

    Random randomCustomer = new Random(); 
    List<Integer> generatedCustomers = new ArrayList<Integer>();

    //counter went up to 50 because each register holds 10 people 
    for(int counter=1; counter<=50;counter++) {
        int customer = randomCustomer.nextInt(20041995);    
        //the random generated customers were then added
        generatedCustomers.add(customer);
    }
        //used the sublist method once i got the size of the array and split it into 5 parts
    for (int start =0; start < generatedCustomers.size(); start += 10) {
        int end = Math.min(start + 10, generatedCustomers.size()); 
        List<Integer> sublist = generatedCustomers.subList(start, end); 
        System.out.println("cash register" + " " + sublist); 
    }
}

}

我的输出产生了这个:

cash register [15365553, 2870686, 8239263, 490486, 10449085, 16420026, 3718359, 5010717, 2638567, 14760837]
cash register [20040371, 16869399, 1942712, 14737317, 17357726, 4508897, 4992677, 5038990, 13511211, 8336697]
cash register [4280460, 8933691, 3284599, 17767919, 16640768, 16720106, 2914768, 10021216, 576433, 14489405]
cash register [10122975, 4817494, 18802466, 8706075, 6488663, 10421329, 13197130, 6107886, 7547101, 7711809]
cash register [10627697, 9371901, 7711935, 15270912, 13733952, 12334688, 7676836, 4582069, 10586241, 11101172]