簡體   English   中英

將數組元素轉換為字符串並打印第一個字符?

[英]Convert array element to a string and print first character?

我需要從用戶輸入創建一個字符串數組並打印每個元素的第一個字母。 我知道我需要以某種方式將數組轉換為字符串,但不確定如何實現這一點。 我沒有成功使用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));
    }
}

您需要迭代Array每個String ,然后打印第一個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)));

您的代碼也只是一些問題:

  • 您將要進入問題,因為nextInt()不使用換行符。 nextInt()之后添加一個空白的nextLine()調用

  • 循環直到<= array.length ,這將導致indexOutOfBounds錯誤。 您只需循環直到小於array.length

只需對“nameArray”進行另一次迭代,並獲取每個數組元素的第一個字符,然后打印它。

例如,您可以使用for-each:

for(String name : nameArray) {
  System.out.println(name.charAt(0));
}
Arrays.stream(nameArray).map(s -> s.charAt(0)).forEach(System.out::println);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM