如何使用方法从数组中返回随机字符串?

时间:2015-10-31 20:46:20

标签: java arrays

我需要创建一个方法,随机选择我的“carmake”数组中的一个字符串。我陷入了我的setCarMake方法。这同样适用于汽车的颜色(该方法将在我完成此之后进行)。 这是我目前的代码。

public class Cars {

    public String[] carmake = {"Audi", "BMW" , "Mercedes-Benz", "Lexus", "Volkswagen"};
    public String[] carcolor = {"Black", "Yellow", "Red", "Grey"};
    //
    public int caryear;
    public int speed;

    public void setCarMake(){
        Random rand = new Random(14335);
        carmake.rand.nextInt(carmake.length);
    }

    public int GetYear(){
        int max = 2015;
        int min = 1999;

        Random rand = new Random();
        caryear = rand.nextInt((max-min)+1) + min ;
        return caryear;
    }

    public void execute(){
        System.out.println(caryear + " " + carmake);
    }
}

请帮忙!

3 个答案:

答案 0 :(得分:4)

这是错误的:

carmake.rand.nextInt(carmake.length);

因为这意味着rand是一种carmake数组的方法?没有意义,对吧?这就是dot .运算符所做的事情。他们习惯于access method.

试试这个:

int carMakeRandomIndex = new Random().nextInt(carmake.length);
return carmake[carMakeRandomIndex];

另外,请遵循命名惯例。

答案 1 :(得分:2)

我认为您只需要在数组范围内获取一个随机数(0到carmake.length - 1),然后将其用作数组索引。

rand.nextInt(carmake.length); //This should work

答案 2 :(得分:1)

这是从carmake数组中获取随机元素的方法:

final int randomIndex = rand.nextInt() % rcarmake.length;
return carmake[randomIndex];