用Java语言创建一个int类型的二维数组,要求第一行有1个元素,第二行有3个元素,第三行有5个元素。从键盘输入元素,以梯形阵的形式输出,计算出数组中的最大值,并在屏幕上输出。
时间: 2024-09-29 11:11:53 浏览: 62
在Java中,你可以按照以下步骤创建一个二维数组,输入元素并输出它们:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建一个int类型的二维数组,形状为1x1, 2x3, 3x5
int[][] array = {{}, {}, {}};
// 初始化第一行只有一个元素
array[0][0] = getIntegerFromUser("请输入第一行的第一个元素:");
// 获取第二行和第三行的元素
for (int i = 1; i < array.length; i++) {
for (int j = 0; j <= i; j++) {
array[i][j] = getIntegerFromUser("请输入第" + (i+1) + "行的第" + (j+1) + "个元素:");
}
}
// 梯形阵列输出
printTrapezoidalArray(array);
// 计算并输出最大值
int max = findMax(array);
System.out.println("数组中的最大值是:" + max);
}
// 从用户获取整数输入
private static int getIntegerFromUser(String prompt) {
Scanner scanner = new Scanner(System.in);
return scanner.nextInt();
}
// 输出梯形阵列
private static void printTrapezoidalArray(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
// 找到二维数组的最大值
private static int findMax(int[][] array) {
int max = array[0][0];
for (int[] row : array) {
for (int num : row) {
if (num > max) {
max = num;
}
}
}
return max;
}
}
```
在这个程序中,我们首先创建了一个3行的二维数组,然后逐行获取用户的输入。`printTrapezoidalArray`函数用于按梯形阵列的方式打印数组,而`findMax`函数则遍历整个数组找出最大值。