java - 将数组元素转换为字符串并打印第一个字符?

标签 java arrays string

我需要根据用户输入创建一个字符串数组并打印每个元素的第一个字母。我知道我需要以某种方式将数组转换为字符串,但不确定如何完成此操作。我对 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));
    }
}

最佳答案

您需要遍历每个 StringArray然后打印第一个 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/

相关文章:

c - 将带有数字的字符串存储为整数数组

c++ - 为什么按空格字符拆分文件缓冲区不起作用?

Java:重命名从远程服务器下载的文件

php - 如何在 php 中使用 array() 删除标签 <span style ="">?

java - 如何以固定速率从 Android 运动传感器记录数据

java - 如何使用 JAXB 取消/编码带下划线的 XML 到/从驼峰式 Java?

java - 随时将变量传递到线程中?

python - 具有停止条件的 numpy 数组中的累积和

c - C语言如何在一个字符串中插入多个字符

java - JMX RMI 身份验证不起作用