帮我用java写一个程序,要求如下:不允许调用其他函数,生成一个包含10个随机正整数的数组,每个整数值不大于50,屏幕打印整个数组,然后对数组从大到小排序后在屏幕输出。
时间: 2024-03-05 07:52:25 浏览: 56
好的,以下是不调用其他函数实现的Java代码:
```java
import java.util.Random;
public class ArraySorter {
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
System.out.print("随机生成的数组为:");
for (int i = 0; i < 10; i++) {
arr[i] = random.nextInt(50) + 1;
System.out.print(arr[i] + " ");
}
System.out.println();
// 冒泡排序
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.print("排序后的数组为:");
for (int i = 0; i < 10; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
```
代码解释:
1. 首先定义一个长度为10的整型数组 `arr`,用于存储随机生成的正整数。
2. 然后创建一个 `Random` 对象,用于生成随机数。
3. 使用 `for` 循环遍历数组,每次生成一个随机数并将其赋值给数组元素。同时使用 `System.out.print()` 方法打印数组元素到控制台。
4. 使用 `System.out.println()` 方法换行,使排序结果单独一行输出。
5. 使用冒泡排序算法对数组进行排序(从大到小)。
6. 使用 `for` 循环遍历数组,每次打印数组元素到控制台。同时使用 `System.out.print()` 方法打印数组元素和空格到控制台。
7. 使用 `System.out.println()` 方法换行,使程序输出完整。
注意:这里排序算法使用的是冒泡排序,它的时间复杂度为 O(n^2),可能不太适合处理大规模数据。如果需要处理大规模数据,建议使用更高效的排序算法。
阅读全文