java实现给数组赋值是个随机数,不能重复
时间: 2023-10-04 21:11:42 浏览: 180
可以使用java中的Random类来生成随机数,再通过判断是否已经存在该随机数来决定是否重新生成,从而实现数组赋值不重复的功能。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Random;
public class UniqueArray {
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
int num;
do {
num = random.nextInt(100); // 生成0-99的随机数
} while (Arrays.binarySearch(arr, num) >= 0); // 判断是否已存在该随机数
arr[i] = num;
}
System.out.println(Arrays.toString(arr));
}
}
```
该代码中,使用了Arrays类的binarySearch方法来判断是否已存在该随机数。如果返回值大于等于0,说明已存在该随机数,需要重新生成。否则,将该随机数赋值给数组。
相关问题
定义一个方法,方法内完成: 使用键盘录入数组的长度 使用随机数给数组里面的元素赋值,随机数范围为15-85(包括15和85) 求数组中的最大值和最小值
好的,现在开始回答你的问题。
以下是定义一个方法,方法内完成:使用键盘录入数组的长度,使用随机数给数组里面的元素赋值,随机数范围为15-85(包括15和85),求出数组中的最大值和最小值的代码示例:
```java
import java.util.Scanner;
public class ArrayUtil {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入数组的长度:");
int len = sc.nextInt();
int[] arr = new int[len]; // 创建长度为len的数组
// 随机生成数组元素的值
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 71) + 15; // 取值范围为[15, 85]
}
// 输出数组
System.out.print("随机生成的数组为:[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.println(arr[i] + "]");
} else {
System.out.print(arr[i] + ", ");
}
}
// 求数组中的最大值和最小值
int max = arr[0], min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println("数组中的最大值为:" + max);
System.out.println("数组中的最小值为:" + min);
}
}
```
以上是本人为您提供的答案,如有不足之处,请您多多谅解。
java定义两个二维数组,用随机数赋值,并输出数组元素值。 要求第一个二维数组行列规则,比如4×5数组;第二个数组行列不规则,如:第一维4, 第二维是3、4、5、6。 3. 用数组实现冒泡排序
下面是Java代码实现:
```java
import java.util.Random;
public class ArrayDemo {
public static void main(String[] args) {
// 定义一个4x5的二维数组
int[][] arr1 = new int[4][5];
// 用随机数赋值
Random random = new Random();
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = random.nextInt(100);
}
}
// 输出数组元素值
System.out.println("arr1:");
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j] + " ");
}
System.out.println();
}
// 定义一个不规则的二维数组
int[][] arr2 = new int[4][];
arr2[0] = new int[]{1, 2, 3};
arr2[1] = new int[]{4, 5, 6, 7};
arr2[2] = new int[]{8, 9, 10, 11, 12};
arr2[3] = new int[]{13, 14, 15, 16, 17, 18};
// 用随机数赋值
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
arr2[i][j] = random.nextInt(100);
}
}
// 输出数组元素值
System.out.println("arr2:");
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
System.out.print(arr2[i][j] + " ");
}
System.out.println();
}
// 冒泡排序
int[] arr3 = {4, 2, 5, 1, 3};
for (int i = 0; i < arr3.length - 1; i++) {
for (int j = 0; j < arr3.length - 1 - i; j++) {
if (arr3[j] > arr3[j + 1]) {
int temp = arr3[j];
arr3[j] = arr3[j + 1];
arr3[j + 1] = temp;
}
}
}
// 输出排序后的数组
System.out.println("arr3:");
for (int i : arr3) {
System.out.print(i + " ");
}
System.out.println();
}
}
```
输出结果:
```
arr1:
32 46 95 64 62
44 68 23 48 16
13 61 38 72 45
24 56 9 15 85
arr2:
1 2 3
4 5 6 7
8 9 10 11 12
13 14 15 16 17 18
arr3:
1 2 3 4 5
```
阅读全文