2015-06-12 2 views
-3

У меня есть массив из 9 значений. Я хочу заполнить другой массив размером 18 с этими значениями случайным образом, поскольку они должны встречаться только дважды.Java заполняет массив случайным образом в соответствующей игре

String[] cards = {"1","2","3","4","5","6","7","8","9"}; 
+3

Создайте массив с каждым значением, появляющимся дважды, и затем перетасуйте его. –

+1

Вам нужно попробовать что-то и вернуться с кодом. –

+0

Дайте нам вашу попытку в первую очередь. – JShell

ответ

0

Для ленивых людей, читающих этот вопрос.

Вот результат моего класса LazyRandomizer.

[7, 5, 4, 7, 9, 3, 8, 1, 1, 3, 5, 4, 6, 2, 6, 2, 8, 9] 

И вот код. Обычно я объяснял код, но сейчас я чувствую себя слишком ленивым. Удачи, понимая это.

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.Collections; 
import java.util.List; 

public class LazyRandomizer { 

    public static void main(String[] args) { 
     String[] cards = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; 
     List<String> randomCards = new ArrayList<>(); 
     randomCards.addAll(Arrays.asList(cards)); 
     randomCards.addAll(Arrays.asList(cards)); 
     Collections.shuffle(randomCards); 
     System.out.println(Arrays.toString(randomCards 
       .toArray(new String[randomCards.size()]))); 
    } 

} 
Смежные вопросы