2017-04-06 6 views
1

임의의 가격, 연도, 색상 등이있는 임의의 자동차를 생성하는 프로그램을 만들고 있습니다 ... Math.random을 사용하여 연도를 무작위로 추출하는 방법을 알고 있습니다. ,하지만 임의의 색상을 얻는 방법을 모르겠습니다. 배열을 색으로 채우고 배열에서 무작위 요소를 선택한다고 생각합니다. 그러나 어떻게해야할지 모르겠습니다. 어떤 도움이라도 대단히 감사합니다.자바의 배열에서 임의의 색상을 얻는 방법

+1

색상을 arraylist에 추가하고 간단하게 Collections.shuffle을 호출하고 새로 shuffled 목록에서 첫 번째 색상을 선택할 수 있습니다. 또는 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

을 사용할 수 있습니까? 배열을 String [] 대신 int []로 변경하십시오. – CodingNinja

+0

게시물에 몇 가지 코드를 포함시켜 주시겠습니까? 그러면보다 쉽게 ​​도와 드리겠습니다. – CodingNinja

+0

감사합니다. 덕분에 많은 도움이되었습니다. 기본도 좋고 – FaDeOuT667

0

가장 편리한 방법은 임의의 요소를 생성하는 메서드로 enum을 만드는 것이라고 생각합니다. 이렇게하면 캡슐화 및 재사용을 달성 할 수 있습니다.

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())); 
    } 
}