用Java写一个5×5的矩阵,将1到25随机放入但是不能重复
时间: 2024-09-09 11:01:32 浏览: 45
在Java中,我们可以创建一个二维数组(代表矩阵)并利用`Random`类生成1到25之间的随机数,同时保证每个数字不重复。这里是一个简单的示例:
```java
import java.util.Arrays;
import java.util.Random;
public class MatrixGenerator {
public static void main(String[] args) {
int[][] matrix = new int[5][5];
Random random = new Random();
int[] numbers = new int[25]; // 存储已生成的随机数
// 遍历矩阵,生成并检查是否重复
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
while (numbers.length > 0) {
int randNum = random.nextInt(25) + 1; // 随机数范围 [1, 25]
if (!contains(numbers, randNum)) { // 检查数组中是否有该数字
matrix[i][j] = randNum;
numbers[randNum - 1] = 0; // 将生成的数字从数组移除,避免重复
break;
}
}
}
}
// 输出生成的矩阵
for (int[] row : matrix) {
System.out.println(Arrays.toString(row));
}
}
private static boolean contains(int[] array, int value) {
for (int num : array) {
if (num == value) return true;
}
return false;
}
}
```
在这个程序中,我们首先创建了一个长度为5x5的矩阵和一个临时数组`numbers`用于存储已经生成的随机数。然后,我们在两个嵌套循环中生成随机数,如果发现某个随机数不在`numbers`数组中,则将其放入矩阵并更新数组。当遍历完整个矩阵后,会打印出这个非重复的5x5矩阵。
阅读全文