我需要根据用户输入创建字符串数组,并打印每个元素的首字母.我知道我需要以某种方式将数组转换为字符串,但不确定如何实现.我对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));
}
}
解决方法:
您需要遍历数组中的每个字符串,然后打印第一个字符.您可以使用charAt()和循环来执行此操作.
for(String str : nameArray) {
System.out.println(str.charAt(0));
}
Arrays.stream(nameArray).forEach(e -> System.out.println(e.charAt(0)));
您的代码也只有几个问题:
>您将要输入this问题,因为nextInt()不会占用换行符.在nextInt()之后添加一个空白的nextLine()调用
>您要循环直到< = array.length,这将导致indexOutOfBounds错误.您只需要循环直到小于array.length
标签:arrays,string,java
来源: https://codeday.me/bug/20191108/2008157.html