JAVA请从控制台输入一个整数N,随机产生该N*N范围内的数字(含1和N),不可重复?

JAVA代码实现怎么搞

import java.util.Scanner;
import java.util.Random;

public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.print("请输入一个整数N:");
int n = input.nextInt();

if (n < 1) {
System.out.println("请输入大于等于1的整数!");
return;
}

if (n == 1) {
System.out.println("1");
return;
}

int[] arr = new int[n * n];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}

for (int i = 0; i < arr.length; i++) {
int j = random.nextInt(n * n - i) + i;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}

int index = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[index++] + " ");
}
System.out.println();
}
}
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网