我需要根据用户输入创建一个字符串数组并打印每个元素的第一个字母。我知道我需要以某种方式将数组转换为字符串,但不确定如何完成此操作。我对 Arrays.toString
以下是我的代码:
import java.util.Scanner;
import java.util.Arrays;
class Main{
public static void main(String[] args){
Scanner inp = new Scanner(System.in);
System.out.println("How many names would you like to enter in this array?: ");
int numName = inp.nextInt();
String nameArray[] = new String[numName];
System.out.println("Enter the names: ");
for(int i = 0; i <= nameArray.length; i++){
nameArray[i] = inp.nextLine();
}
System.out.println(nameArray.charAt(0));
}
}
最佳答案
您需要遍历每个 String
在Array
然后打印第一个 char
.您可以使用 charAt()
执行此操作和一个循环。
for(String str : nameArray) {
System.out.println(str.charAt(0));
}
或者您可以使用 Arrays.stream()
:
Arrays.stream(nameArray).forEach(e -> System.out.println(e.charAt(0)));
您的代码还有一些问题:
您将进入 this问题,因为
nextInt()
不消耗换行符。加个空格nextLine()
调用nextInt()
您正在循环直到
<= array.length
这将导致indexOutOfBounds
错误。您只需要循环直到小于array.length
关于java - 将数组元素转换为字符串并打印第一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52999328/