通过键盘创建不等长的2维数组,每一维长度从键盘输入,将输入数据按照降序排列,输出二维数组的所有元素。java代码
时间: 2025-01-27 09:06:48 浏览: 35
好的,以下是一个Java程序,它通过键盘输入创建不等长的二维数组,并将每一维的数据按照降序排列,最后输出二维数组的所有元素。
```java
import java.util.Arrays;
import java.util.Scanner;
public class TwoDimensionalArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入二维数组的行数
System.out.print("请输入二维数组的行数: ");
int rows = scanner.nextInt();
int[][] array = new int[rows][];
// 输入每一行的列数并初始化数组
for (int i = 0; i < rows; i++) {
System.out.print("请输入第 " + (i + 1) + " 行的列数: ");
int cols = scanner.nextInt();
array[i] = new int[cols];
}
// 输入数组元素
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print("请输入元素 [" + i + "][" + j + "]: ");
array[i][j] = scanner.nextInt();
}
}
// 对每一行进行降序排列
for (int i = 0; i < array.length; i++) {
Arrays.sort(array[i]);
reverse(array[i]);
}
// 输出排序后的数组
System.out.println("排序后的二维数组:");
for (int[] row : array) {
System.out.println(Arrays.toString(row));
}
scanner.close();
}
// 反转数组
private static void reverse(int[] array) {
int left = 0;
int right = array.length - 1;
while (left < right) {
int temp = array[left];
array[left] = array[right];
array[right] = temp;
left++;
right--;
}
}
}
```
这个程序首先通过键盘输入二维数组的行数和每一行的列数,然后输入数组的元素。接着对每一行进行降序排列,并输出排序后的数组。
阅读全文
相关推荐















