Necesito crear una matriz de cadenas de entrada del usuario e imprimir la primera letra de cada elemento. Soy consciente de que tengo que convertir la matriz en una cadena de alguna manera, pero no está seguro cómo lograr esto. Estaba con éxitoArrays.toString
Lo que sigue es mi código:
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));
}
}
Es necesario para iterar sobre cada String
en el Array
y luego imprimir la primera char
. Para ello, puede utilizar charAt()
y un bucle.
for(String str : nameArray) {
System.out.println(str.charAt(0));
}
O puede utilizar Arrays.stream()
:
Arrays.stream(nameArray).forEach(e -> System.out.println(e.charAt(0)));
También a pocos problemas con su código:
Usted va a entrar en este problema, ya que
nextInt()
no consume el salto de línea. Añadir un espacio en blanconextLine()
llamada despuésnextInt()
Se recorre hasta
<= array.length
que ocurre unindexOutOfBounds
error. Usted necesita solamente bucle hasta menos dearray.length