【发布时间】:2015-04-10 16:54:14
【问题描述】:
最近我开始学习 Java,但遇到了很多问题。我已经尝试在网站上搜索,但我似乎无法得到我需要的答案。如果有答案并且是我的错误,我们深表歉意。
请先看看我的代码:
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 之间的数字。但是我不知道如何生成 1 到 9 之间的数字,我只创建了范围 0-10 和 0-9
我的想法是,一旦我完成了这个范围 1-9 的二维数组,那么我可以使用一定数量的 if-else 语句来让用户只要中间行或对角行有 3 个相同的数字,就赢得大奖。
我也尝试过使用:
int test3 = num.nextInt(test2-test+1)-test;
这将生成 1-9 之间的数字,但如果我全部使用它,它总是会为我生成相同的数字,否则会因为负数而给出异常。
【问题讨论】:
-
考虑在随机结果中添加“1”以更改“下”边界。
-
@Jägermeister 你是什么意思?
-
@reyareya 我认为他的意思是生成一个介于 0-8 之间的随机数,然后将该结果加 1。
标签: java multidimensional-array