【发布时间】:2012-03-02 13:47:51
【问题描述】:
有没有办法从对象数组中随机选取一个对象?
我尝试了几种我能想到的方法,但都没有奏效。
我想在随机类中使用一个函数(所有类都有相同的函数但返回不同)。
我应该提到我正在尝试返回一个图像,并且每次我尝试返回一个随机图像时它都不会返回任何内容(“null”)
这是我遇到问题的一些代码:
Car car;
Ford ford;
Mazda mazda
Fiat fiat
Rover rover
Car carlist[] = {ford,fiat,mazda,rover}
public void paint(){
//this displays an image every 128 pixles
for (int i = 0;i<Width;i+=128){
for(int j=128; j<Height;j+=128){
// this draws the image (the image is declaired in each car's class as getImage)
g.drawImage((car.carList[rand.nextInt(5)]).getImage(), i, j , this);
}
}
如果我将一个对象放入(而不是 carcarList[rand.nextInt(5)])),则该代码有效。 每个汽车类型都扩展了 Cars。
【问题讨论】:
-
你尝试了哪些方法?发布您遇到问题的代码
-
在
0和length - 1之间生成一个随机整数(其中length是数组的长度),并将其用作访问数组以检索对象的索引。跨度> -
我会发布代码,但目前在移动设备上,手边没有很抱歉
-
它返回null,因为福特、菲亚特、马自达和罗孚都是null。您从未创建过这样的对象。要创建它们,请执行
Ford ford = new Ford();。顺便说一句,这与Java无关......