我需要创建一个方法,随机选择我的“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);
}
}
请帮忙!
答案 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];