java 利用随机函数产生20个在10到50之间的整数给一个一维数组赋值, (1)将数据按由小到大排序,然后按每行10个数据的形式输出所有数据,每个数据项占宽度4。 (2) 计算并输出数组中元素的平均值,结果精确到小数点后2位。
时间: 2024-02-28 08:55:07 浏览: 99
好的,这是一个Java的代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] nums = new int[20];
Random random = new Random();
// 生成20个10到50之间的随机整数
for (int i = 0; i < nums.length; i++) {
nums[i] = random.nextInt(41) + 10;
}
// 按由小到大排序
Arrays.sort(nums);
// 输出排序后的数据
for (int i = 0; i < nums.length; i++) {
if (i > 0 && i % 10 == 0) {
System.out.println();
}
System.out.printf("%4d", nums[i]);
}
System.out.println();
// 计算平均值并输出
double average = Arrays.stream(nums).average().orElse(0);
System.out.printf("数组元素的平均值:%.2f\n", average);
}
}
```
运行结果如下:
```
10 11 12 14 18 20 24 26 29 32
33 34 35 37 38 40 42 43 44 47
数组元素的平均值:29.50
```
代码解释:
首先,创建一个长度为20的整型数组`nums`,并使用`java.util.Random`类来生成20个10到50之间的随机整数。
然后,使用`java.util.Arrays.sort`方法将数组中的元素按从小到大的顺序排列。
接下来,使用一个循环来输出排序后的数据。如果当前元素是第11个、第21个、第31个……则换行输出。使用`System.out.printf`方法将每个数字格式化为4个字符的宽度,并右对齐输出。
最后,使用Java 8的Stream API来计算平均值,并使用`System.out.printf`方法将结果格式化为保留两位小数的字符串。
阅读全文