【发布时间】:2026-01-03 09:35:05
【问题描述】:
我做了一个从二维数组中选择随机位置的命令
int[][] nums= {{1,2,3},
{2,3,4},
{5,6,7}};
for(int i = 0; i < 5; i++) {
int num = nums[rand.nextInt(4)][rand.nextInt(4)];
System.out.println(num);
}
如何确保当 int num 第一次选择一个位置时, 它永远无法再次选择它? 使 5 个随机数彼此不同。
【问题讨论】:
-
您可以在每次选择它时从数组中删除它吗?
-
顺便说一句:
nums[rand.nextInt(4)]可能会导致nums[3]这将导致 ArrayIndexOutOfBoundsException 因为长度为 3 的数组将没有任何索引为 3 的元素(只有 0、1 和 2 ) -
虽然看着这个任务,我对你实际上想要做什么感到很困惑。为什么需要将它保存在数组内部的数组中?为什么不只拥有一个包含所有数字的数组({1,2,3,4,5,6,7,8,9})?当你这样做时 -> nums[rand.nextInt(4)][rand.nextInt(4)] 你可以很容易地得到一个空指针。所以你可能想考虑一下这个。
-
@OHGODSPIDERS 写的评论和你发布的一样:D
-
好的,谢谢大家
标签: java multidimensional-array