java声明一个数组arr为{14,1,3,7,8,5,2,6}, 再循环输入5个数字,放到数组brr中。 将原arr数组和brr数组复制到一个新的crr数组中, 将新crr数组进行排序,最后以正序和倒序2种方式输出
时间: 2024-10-10 13:14:56 浏览: 32
在Java中,你可以按照以下步骤操作:
首先,声明两个数组`arr`和`brr`,以及一个临时数组`crr`用于存储结果:
```java
int[] arr = {14, 1, 3, 7, 8, 5, 2, 6};
int[] brr = new int[5]; // 初始化一个长度为5的数组来接收用户输入
int[] crr = new int[arr.length + brr.length]; // 新建一个数组,长度等于原数组和新数组之和
```
接下来,循环获取用户输入并放入`brr`数组:
```java
for (int i = 0; i < 5; i++) {
System.out.println("请输入第" + (i+1) + "个数字:");
Scanner scanner = new Scanner(System.in);
brr[i] = scanner.nextInt();
}
```
然后,将原数组`arr`和`brr`的内容合并到`crr`数组中:
```java
System.arraycopy(arr, 0, crr, 0, arr.length); // 复制arr到crr的前半部分
System.arraycopy(brr, 0, crr, arr.length, brr.length); // 复制brr到crr的后半部分
```
对新数组`crr`进行排序,这里我们以快速排序为例(假设`Arrays.sort()`已经导入):
```java
Arrays.sort(crr); // 正序排列
```
为了得到倒序排列,可以先创建一个原始拷贝:
```java
int[] sortedDesc = Arrays.copyOf(crr, crr.length);
Arrays.sort(sortedDesc, Collections.reverseOrder()); // 倒序排列
```
最后,分别打印出正序和倒序的结果:
```java
System.out.println("正序结果: ");
for (int num : crr) {
System.out.print(num + " ");
}
System.out.println("\n倒序结果: ");
for (int num : sortedDesc) {
System.out.print(num + " ");
}
```
以上就是整个过程的Java代码实现。记得在实际运行时添加异常处理,确保输入的是有效的整数。
阅读全文