Недавно я начал изучать Java и имел множество проблем. Я пробовал поиск на веб-сайте, но я не могу получить ответ, который мне нужен. Извиняюсь, если есть ответ, и ошибка с моей стороны.Создание случайных чисел между 2 значениями в массиве 2d
Пожалуйста, обратите внимание на мой код первой:
import java.util.Random;
public class Test {
public static void main (String args[]) {
Random num = new Random();
int[][] multi = new int [3][];
int test = 1; // comments for stackoverflow questions
int test2 = 10; // how can i create something that will range from 1-9?
int test3 = test2-test; // trying this has always generated 0-9 instead
multi[0] = new int [] {num.nextInt(test3), num.nextInt(test3), num.nextInt(test3)};
multi[1] = new int [] {num.nextInt(test3), num.nextInt(10), num.nextInt(10)};
multi[2] = new int [] {test3, test3, num.nextInt(10)};
// PLEASE IGNORE THE 2D ARRAYS, it's just something I am testing on
int rows = 3;
int columns = 3;
for(int i=0; i<rows; i++) {
for (int j=0; j<columns; j++) {
System.out.print(multi[i][j] + "\t");
}
System.out.println();
}
}
}
Я пытаюсь моделировать джек-пот, в результате чего я хочу, чтобы генерировать числа от 1 до 9 во всех 2D-массива я создал. Однако я не знаю, как генерировать числа между 1 до 9 я создавать диапазоны только 0-10 и 0-9
Моя идея заключается в том, что, как только я закончу этот 2D массив диапазонов 1-9, тогда я мог бы использовать определенное количество операторов if-else, чтобы пользователь выиграл джек-пот, когда центральная строка или диагональные строки имеют 3 одинаковых номера.
Я также попытался с помощью:
int test3 = num.nextInt(test2-test+1)-test;
Это будет генерировать числа между 1-9 но если бы я должен был использовать все это, он всегда будет генерировать те же числа ко мне, в противном случае она дает исключение из-за отрицательных чисел.
Попробуйте добавить "1" к вашему случайному результату, чтобы изменить "нижнюю" границу. – GhostCat
@ Jägermeister, что вы имеете в виду? – reyareya
@reyareya Я думаю, что он означает создание случайного числа между 0-8 и затем добавление 1 к этому результату. – Danny