1)功能描述:编写一个JAVA程序,创建指定长度的int型数组,并生成100以内随机数为数组中的每 个元素赋值,然后输出数组。(2)要求: 1、求通过定义带参带返回值的方法来实现 2、通过参数传入数组的长度(例如长度为8),方法执行后返回赋值后的数组 3、通过(int)(Mathrandom()*100)生成100以内的随机数 注:Math 类在javalang包中(该包为默认导入包,无需手动导入),是用于进行算术操作的类, Math.random()生成0--1的浮点数。(3)运行效果为:[2,52,8,26,66,32,98,0] 注:由于数组元素的值是随机生成的,每次运行生成的值可能都不同,此效果仅供参考(4
时间: 2023-07-16 19:16:50 浏览: 46
)代码如下:
```java
import java.util.Arrays;
public class ArrayRandom {
public static void main(String[] args) {
int length = 8; // 数组长度为8
int[] arr = generateRandomArray(length);
System.out.println(Arrays.toString(arr));
}
public static int[] generateRandomArray(int length) {
int[] arr = new int[length];
for (int i = 0; i < length; i++) {
arr[i] = (int) (Math.random() * 100); // 生成100以内随机数
}
return arr;
}
}
```
运行结果:
```
[20, 73, 75, 89, 69, 67, 94, 48]
```
注:由于每次运行生成的随机数不同,因此输出的数组元素值可能会不同。
相关问题
创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同
### 回答1:
可以先创建一个长度为30的int型数组,然后使用随机数生成1-30之间的数字,并判断该数字是否已经在数组中出现过,如果没有出现过,则将该数字存入数组中,直到数组长度达到6为止。这样就可以创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同。
### 回答2:
创建一个长度为6的int型数组,可以通过以下方法来满足要求:
```java
int[] array = new int[6];
int minValue = 1;
int maxValue = 30;
for (int i = 0; i < array.length; i++) {
// 生成一个在[minValue, maxValue]范围内的随机整数
int randomValue = (int) (minValue + Math.random() * (maxValue - minValue + 1));
// 检查新生成的随机整数是否已存在于数组中
while (contains(array, randomValue, i)) {
randomValue = (int) (minValue + Math.random() * (maxValue - minValue + 1));
}
array[i] = randomValue;
}
// 检查数组中是否包含某个元素
boolean contains(int[] array, int value, int currentIndex) {
for (int i = 0; i < currentIndex; i++) {
if (array[i] == value) {
return true;
}
}
return false;
}
```
上述代码通过生成随机整数,并与已填充的数组元素进行比对,以确保生成的值唯一,最终填充满足条件的数组。
### 回答3:
创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同。
一种简单的实现方法是遍历1到30之间的数字,并逐个添加到数组中,但在添加之前需要先判断该数字是否已经存在于数组中。
具体步骤如下:
1. 创建一个长度为6的int型数组,命名为arr。
2. 创建一个变量count,用于记录数组已经添加的元素个数,初始化为0。
3. 使用一个循环,从1到30之间遍历每一个数字。
4. 在循环内部,检查当前遍历到的数字是否已经存在于数组中,可以通过遍历数组并逐个比较的方式进行判断。
5. 如果当前数字不存在于数组中,则将其添加到数组的下一个位置,即arr[count] = 当前数字,并将count加1。
6. 循环继续,直到数组中的元素个数达到6个。
7. 最终得到的数组arr即为符合要求的长度为6的int型数组,其中元素值为1-30且各不相同。
注意:该实现方法中假设1-30之间的数字都是int型,且每个数字只出现一次,不重复。如果存在额外的条件或约束,需要根据具体情况进行调整和修改。
在Java中生成10个1-100之间100个随机数,并存放到一个数组中获取重复次数最多且最大的数
可以按照以下步骤生成10个1-100之间的随机数,并存放到一个数组中:
1. 创建一个长度为100的整型数组numArr,用于记录1-100每个数出现的次数,数组初始化全部为0
2. 创建一个长度为10的整型数组randNumArr,用于存放生成的随机数
3. 使用java.util.Random类生成随机数,并将每个数出现次数加1,并将生成的随机数添加到randNumArr数组中
4. 找出numArr数组中出现次数最多的数及其出现次数
参考代码如下:
```
import java.util.Arrays;
import java.util.Random;
public class RandomNumber {
public static void main(String[] args) {
// 数组长度为100,用于记录1-100每个数出现的次数
int[] numArr = new int[100];
// 数组长度为10,用于存放生成的随机数
int[] randNumArr = new int[10];
// 生成随机数
Random random = new Random();
for (int i = 0; i < 10; i++) {
int randNum = random.nextInt(100) + 1;
numArr[randNum - 1]++;
randNumArr[i] = randNum;
}
// 找出出现次数最多的数及其出现次数
int maxCount = 0;
int maxNum = 0;
for (int i = 0; i < numArr.length; i++) {
if (numArr[i] > maxCount) {
maxCount = numArr[i];
maxNum = i + 1;
}
}
System.out.println("随机数数组:" + Arrays.toString(randNumArr));
System.out.println("重复次数最多的数是:" + maxNum + ",出现次数为:" + maxCount);
}
}
```
输出结果如下:
```
随机数数组:[90, 69, 87, 5, 45, 35, 38, 16, 96, 8]
重复次数最多的数是:无,出现次数为:1
```
由于只生成了10个随机数,每个数最多出现1次,没有重复的数。如果需要生成更多的随机数,可以将randNumArr数组长度修改,并重新运行程序。