java如何输入一个名字数组

java如何输入一个名字数组

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

用户关注问题

Q
Java中如何声明和初始化一个名字数组?

我想在Java程序中存储一组名字,应该如何声明和初始化一个字符串数组来保存这些名字?

A

声明和初始化名字数组的方法

在Java中,可以使用字符串数组来存储名字,声明方式为:String[] names;,初始化时可以直接指定元素,如String[] names = {"张三", "李四", "王五"};。也可以先声明数组大小再赋值,例如String[] names = new String[3]; 然后分别给每个元素赋值。

Q
Java如何从控制台输入多个名字保存到数组中?

我希望在Java程序运行时,让用户通过控制台输入多个名字,并将它们保存到数组中,具体应该怎么做?

A

使用Scanner读取控制台输入并保存到数组

可以使用Scanner类读取用户输入。首先定义一个字符串数组用于保存名字,然后通过循环调用Scanner的nextLine()方法读取每个名字,依次存入数组中。示例代码:
Scanner sc = new Scanner(System.in);
String[] names = new String[5];
for(int i = 0; i < names.length; i++) {
System.out.print("请输入第" + (i+1) + "个名字:");
names[i] = sc.nextLine();
}
sc.close();
这样就能实现从控制台输入名字数组。

Q
如何动态存储不确定数量的名字?

如果我不知道具体将输入多少个名字,能否用Java实现动态存储?

A

使用ArrayList实现动态名字存储

当名字数量未知时,使用ArrayList比固定大小的数组更灵活。ArrayList可以动态扩容。示例用法:
Scanner sc = new Scanner(System.in);
ArrayList nameList = new ArrayList<>();
while(true) {
System.out.print("请输入名字(输入exit结束):");
String input = sc.nextLine();
if("exit".equalsIgnoreCase(input)) {
break;
}
nameList.add(input);
}
sc.close();
然后可以将ArrayList转换为数组,如String[] names = nameList.toArray(new String[0]);