Это первый раз, когда я использую java, и я должен создать игру, используя эту программу. 2-мерный массив размером от 10 до 10, 5 конкретных символов - C, M, W, F и E. Каждый из них содержит 15 C, M, W, F, остальные 40 ящиков заняты E. Позиции генерируются случайным образом. Есть идеи?Как назначить определенный символ произвольно сгенерированной позиции в массиве 2d? (java)
0
A
ответ
0
Один из способов состоит в том, чтобы пройти через массив и заполнить один из «C, M, W, F, E», пока они не будут индивидуально 15. Что вы можете сделать, это:
int randomWithRange(int min, int max)
{
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
так что вы можете ввести диапазон как randomWithRange (1,5) и заполнить символ в определенной позиции. т.е.: c = 1, M = 2, W = 3 ....
Как только все 15 комплектов завершены для 1 символа, проигнорируйте это и заполните другим символом «C, M, W или F». Если 15 заполнено для заполнения, заполните E
Вам необходимо будет полностью написать эту логику в соответствии с вашими требованиями. Ответ, если вам нужна помощь. Я не буду давать вам код.
0
Это рабочий раствор:
import java.util.*;
public class Board {
private List<Character> values = new ArrayList<>();
private char[][] rows = new char[10][10];
private int index;
public void setup() {
initializeValues();
fillRows();
}
private void initializeValues() {
add(15, 'C');
add(15, 'M');
add(15, 'W');
add(15, 'F');
add(40, 'E');
Collections.shuffle(values);
}
private void fillRows() {
for (int y = 0; y < rows.length; y++) {
fillRow(rows[y]);
if (index > values.size()) {
break;
}
}
}
private void fillRow(char[] row) {
for (int x = 0; x < row.length; x++) {
row[x] = values.get(index++);
if (index > values.size()) {
break;
}
}
}
private void add(int amount, char value) {
for (int i = 0; i < amount; i++) {
values.add(value);
}
}
private void print() {
for (char[] row : rows) {
System.out.println(Arrays.toString(row));
}
}
public static void main(String[] args) {
Board board = new Board();
board.setup();
board.print();
}
}
Смежные вопросы
- 1. Как отобразить символ в определенной позиции в массиве 2d?
- 2. как назначить символ с пустым пятном в 2d массиве C++
- 3. найти определенный символ в массиве
- 4. Как очистить интервал в произвольно сгенерированной функции
- 5. Как изменить символ, отображаемый в 2D-массиве?
- 6. Получение позиции элемента в 2D-массиве в java
- 7. дублирует в произвольно сгенерированном массиве в Java
- 8. C++ Сохранение позиции в 2D-массиве
- 9. Назначить увеличивающееся число в 2D-массиве
- 10. Указание конкретной позиции в 2D-массиве
- 11. Удалить символ в определенной позиции в массиве
- 12. Ищете определенный элемент в массиве 2d
- 13. R - gsub определенный символ определенной позиции
- 14. Показывать символ вместо 0 в 2D Java-массиве
- 15. Как произвольно назначить 2 символьных кода в Java
- 16. Как произвольно заполнять фиксированное количество столбцов в массиве 2d со значением в java?
- 17. Как заменить определенный символ в java
- 18. Как вставить символ в определенный момент java
- 19. java движение в массиве 2d
- 20. Arrayindexoutofbounds в 2d массиве java
- 21. Как удалить символ в определенной позиции в массиве?
- 22. Как установить значения в 2D-массиве? (Java)
- 23. Как нарисовать треугольник в 2D-массиве (Java)
- 24. Макс. Сумма в массиве 2d Java
- 25. Java: Сохранение значений в 2D-массиве
- 26. Java: Как произвольно инициализировать порядок 2D-массива, определяемого пользователем?
- 27. Как получить символ из определенной позиции в двумерном массиве
- 28. Перестановка позиции элементов в массиве в java?
- 29. Как назначить значения 2D-массиву в цикле?
- 30. Java как заменить последний чат-символ строки на определенный символ
Что все, что вы пытались показать, что тогда кто-то сможет помочь you.Stackoverflow сайт не назначать свою работу кому-то другому. –
Я дам вам подсказку: сначала создайте массив вручную, а затем перетасуйте его. –
@Harout: это неэффективно. Я думаю, что я бы заполнил массив «E», используя Arrays.fill(), а затем положил других символов в случайные позиции. –