2017-04-06 125 views
1

我正在创建一个随机生成随机价格,年份,颜色等的程序...我知道如何使用Math.random随机化一年,但我不确定如何获得随机颜色。我想创建一个数组充满颜色并从数组中选取一个随机元素,但我不知道该怎么做。任何帮助,非常感谢如何在java中的数组中获得随机颜色

+1

您可以将您的颜色添加到arraylist并只需调用Collections.shuffle并选择新洗牌列表中的第一个。或者您可以生成一个介于0和列表长度之间的随机数 - 1并使用该索引获取颜色。 –

+0

所以如果你正在选择使用哪个索引号,你可以做一个Math.random来选择索引号或将不起作用 – FaDeOuT667

回答

0

可以使用Random方法(进口java.util.Random中)。这里是做一个随机的公司为例,您可以复制本作的型号,颜色,价格等

String[] Company = {"Honda", "Toyota", "Ford", "Chevrolet", "Lexus", "Jeep"}// add whatever companies you want here 
Random rand = new Random(); 
int NumberOfAnswers = Company.length; 
int pick = rand.nextInt(NumberOfAnswers); 
String CompanyChoice = Company[pick]; 
System.out.println("The company of your car is " + CompanyChoice); 

重复此为你想要的型号,颜色,或任何其他。注意:你不需要重复Random rand = new Random();,因为它只需要声明一次。

+0

如果你使用这个数字选项(如年份或价格),一定要将数组更改为int []而不是String []。 – CodingNinja

+0

你可以在你的文章中加入一些代码吗,这会让我更容易帮你 – CodingNinja

+0

谢谢,这对我有很大的帮助。尼斯和基本太 – FaDeOuT667

0

我认为最便捷的方法是用一种方法来产生一个随机元素枚举。这样我们就可以实现封装和重用。

public enum Colour { 
    Red, 
    Orange, 
    Green; 

    private static final List<Colour> VALUES = 
     Collections.unmodifiableList(Arrays.asList(values())); 
    private static final Random RANDOM = new Random(); 

    public static Colour randomColour() { 
     return VALUES.get(RANDOM.nextInt(VALUES.size())); 
    } 
}