打印一个 长度为7的Java数组,其中前6位数是1到33的随机数,第7位是1到16的随机数,且数组里面的数字不能相同
时间: 2024-06-01 12:12:59 浏览: 12
可以这样实现:
public static void main(String[] args) {
int[] arr = new int[7];
Random random = new Random();
for (int i = 0; i < 6; i++) {
int num;
do {
num = random.nextInt(33) + 1;
} while (contains(arr, num));
arr[i] = num;
}
int num;
do {
num = random.nextInt(16) + 1;
} while (contains(arr, num));
arr[6] = num;
System.out.println(Arrays.toString(arr));
}
private static boolean contains(int[] arr, int num) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == num) {
return true;
}
}
return false;
}
希望能够帮助到你,还有什么其它问题可以问我哦~
相关问题
写一个长度为7的Java数组,其中前6位数是1到33的随机数,第7位是1到16的随机数,且数组里面的数字不能相同
好的,以下是符合要求的Java代码:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] arr = new int[7];
Random random = new Random();
for (int i = 0; i < 6; i++) {
int num;
do {
num = random.nextInt(33) + 1;
} while (contains(arr, num));
arr[i] = num;
}
int num;
do {
num = random.nextInt(16) + 1;
} while (contains(arr, num));
arr[6] = num;
System.out.println("生成的随机数组为:" + Arrays.toString(arr));
}
private static boolean contains(int[] arr, int num) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == num) {
return true;
}
}
return false;
}
}
```
请问还有其他问题吗?
java运用数组生成1到33中6个随机数
可以使用Java的Random类来生成随机数,并结合数组来存储生成的随机数。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
int[] numbers = new int[6];
Random random = new Random();
for (int i = 0; i < numbers.length; i++) {
int randomNumber = random.nextInt(33) + 1; // 生成1到33之间的随机数
numbers[i] = randomNumber;
}
System.out.println(Arrays.toString(numbers));
}
}
```
运行以上代码,将会生成一个包含6个1到33之间随机数的数组。