java如何用输入值给数组赋值

java如何用输入值给数组赋值

作者:William Gu发布时间:2026-02-13阅读时长:0 分钟阅读次数:3

用户关注问题

Q
怎样通过用户输入给Java数组赋值?

我想在Java程序中根据用户输入动态给数组赋值,该如何实现?

A

使用Scanner读取用户输入赋值数组

可以使用java.util.Scanner类从控制台获取用户输入,创建一个数组后,通过循环读取输入的值并赋给数组的每个元素。示例代码如下:

import java.util.Scanner;

public class ArrayInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
int[] arr = new int[length];
System.out.println("请输入数组元素:");
for (int i = 0; i < length; i++) {
arr[i] = scanner.nextInt();
}
scanner.close();
// 输出数组内容
for (int num : arr) {
System.out.print(num + " ");
}
}
}

Q
在Java中如何处理输入或赋值数组时可能出现的异常?

通过输入给Java数组赋值时,如果用户输入非数字字符会产生异常,怎样防止程序崩溃?

A

使用异常处理和输入校验保证输入安全

采用try-catch捕获输入异常,例如InputMismatchException,同时通过循环提示用户重新输入有效值,可以避免程序异常终止。示例中使用Scanner.nextInt()时若输入非整数,程序会抛出异常,所以应加以捕获并处理,确保赋值数组的过程稳定可靠。

Q
Java中如何给二维数组通过用户输入赋值?

我需要给二维数组赋值,能否介绍如何通过输入实现给每个元素赋值?

A

利用双层循环接收输入并赋值二维数组

与一维数组类似,声明二维数组后,先读取行列数,再通过两层循环逐个接收用户输入元素并存储在相应位置。代码示例:

import java.util.Scanner;

public class TwoDArrayInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入二维数组的行数:");
int rows = scanner.nextInt();
System.out.print("请输入二维数组的列数:");
int cols = scanner.nextInt();
int[][] arr = new int[rows][cols];
System.out.println("请输入二维数组元素:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = scanner.nextInt();
}
}
scanner.close();
// 输出二维数组
for (int[] row : arr) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}