Cómo guardar la entrada del usuario dentro de una matriz en Java

Este programa toma la entrada para el número de amigos, luego almacena cada nombre en la matriz y luego los muestra uno por uno desde la matriz.

import java.util.Scanner;
Clase pública FriendsName {

public static void main (String [] args) {
Scanner scan = nuevo escáner (System.in);

// Decide el número de amigos
System.out.print (“Ingrese cuántos amigos:”);
int numOfFriends = Integer.parseInt (scan.nextLine ());

// Crea una matriz de cadenas para almacenar los nombres de tus amigos
String arrayOfNames [] = new String [numOfFriends];
for (int i = 0; i <arrayOfNames.length; i ++) {
System.out.print (“Ingrese el nombre del amigo” + (i + 1) + “:”);
arrayOfNames [i] = scan.nextLine ();
}

// Ahora muestra el nombre de tu amigo uno por uno
for (int i = 0; i <arrayOfNames.length; i ++) {
System.out.print (“Mi amigo” + (i + 1) + “:”);
System.out.print (arrayOfNames [i] + “\ n”);
}

}

}

Espero que esto te ayude !

Personalmente, me gusta usar el lector con búfer para recibir las entradas del usuario en lugar de usar la clase de escáner (nada malo al usar el escáner, pero simplemente no me gusta)

Hablando de tu solución, quieres algo como:

void main () arroja IOException
{
BufferedReader br = new BufferedReader (nuevo InputStreamReader (System.in));
Cadena [] nombres;

System.out.print (“Escribe el número de mejores amigos:”);
num = Integer.parseInt (br.readLine ());

System.out.print (“Escribe los nombres de tus mejores amigos:”);
para (i = 0; i {
nombres [i] = br.readLine ();
}
}

Esto obtendrá la entrada del usuario! (definir variables que no están definidas)

Espero eso ayude !

EDITAR: supongo que sabe cómo implementar esto e imprimir la matriz. Si no, puedo proporcionar el programa completo, solo comentar y hágamelo saber, ya que no sentí que fuera necesario.

EDIT 2: también he editado el código para cualquiera que no quiera googlear la sintaxis de BufferedReader.

Podemos probar el siguiente programa que puede aceptar datos de los usuarios, luego almacenará los datos del usuario en una matriz.

Cadena [] uinput = nueva Cadena [4];

for (int i = 0; i

Scanner sc = nuevo escáner (System.in);

System.out.println (“PIDA a sus usuarios que ingresen algunos datos”);

uinput [i] = sc.nextLine ();

}

System.out.println (“Ahora estamos imprimiendo los datos de la matriz:” + Arrays.asList (uinput));

Como puede ver, una matriz tiene algunas limitaciones porque necesita predefinir el tamaño de la matriz antes de declarar la matriz, por lo tanto, estoy tratando de trabajar con Arraylist en lugar de la matriz.

ArrayList uinput = new ArrayList ();

para (int i = 0; i <5; i ++) {

Scanner sc = nuevo escáner (System.in);

System.out.println (“Ingrese el nombre”);

uinput.add (sc.nextLine ());

}

System.out.println (“Ahora imprime la matriz:” + uinput);

En mi punto de vista, Scanner se compara mejor con Inputstreamreader o Bufferedreader porque no podemos acceder a valores primitivos (int, float …) directamente usando Inputstreamreader. Tenemos que analizar los valores en tipo primitivo.

Ejemplo Básico :

Prueba de clase pública

{

public static void main (String [] args)

{

Scanner sc = nuevo escáner (System.in);

Cadena s = sc.next ();

}

}

Este es el ejemplo básico. Entonces, el escáner es mejor. Use bucles y acepte la entrada (algunas personas ya escribieron el programa usando bucles).

Entrada del escáner = nuevo escáner (system.in); // Entrada del usuario

System.out.println (“Ingrese valores:”);

int array [] = nuevo int [5]; // Matriz Intilizada de tamaño 5

for (int i = 0; i <5; i ++) // utilizado para el bucle para la entrada del usuario

{

matriz [i] = input.nextInt (); // Valor de usuarios asignados a la matriz

}

for (int i = 0; i <5; i ++) // para que el bucle muestre valores

{

System.out.println (“Los valores son:” + array [i]);

}

import java.util.Scanner;

clase ReadArray

{

public static void main (String [] args)

{

System.out.println (“no de elementos”);

Escáner s = nuevo escáner (System.in);

int n = s.nextInt ();

int a [], i = 0;

a = nuevo int [n];

System.out.println (“los elementos son:”);

para (i = 0; i

{

a [i] = s.nextInt ();

}

System.out.println (“———————————”);

para (i = 0; i

System.out.println (a [i]);

}

}

Acepte la entrada usando el escáner como lo sugieren otros, pero es una mejor práctica usar List en lugar de array.

Hará que su código sea más flexible y el acceso es tan rápido como Array.

La respuesta de Richa Kanan está perfectamente bien. Ahora para entender lo que está sucediendo, primero necesitamos saber cuántos nombres necesito guardar. Podemos conseguirlo fácilmente. Ahora pase de 0 a n (número de nombres) y escanee cada línea. Como tenemos una matriz, para cada iteración, guarde la línea en el bloque i-ésimo. Espero que esto aclare tu duda. Feliz codificación … 🙂

More Interesting

¿Es malo si no entiendo un algoritmo? He estado tratando de entender algunos algoritmos (los recursivos en su mayoría), entiendo la mayoría de ellos, pero no pude entender algunos.

¿Cuáles son algunos diseños de clase mínima para el diseño de elevadores para la construcción de m pisos?

Cómo traducir mis pensamientos en código

¿Qué es el algoritmo de sincronización YAWNS?

Cómo aprender estructuras de datos y algoritmos de manera efectiva para que pueda ser mejor en la programación competitiva a nivel principiante

¿Cuál es la mejor manera de estudiar la estructura de datos de árbol?

¿Cómo implementas quicksort en c? Sé que hay respuestas disponibles en línea, pero estoy buscando idealmente la forma más elegante.

¿Qué es más rápido, encontrar un elemento en una tabla hash o en una lista ordenada? ¿Suena fácil? Pensar, repensar y comentar.

¿Se puede ordenar una lista de números en un número menor de pases que el indicado por la notación Big-O?

¿Qué algoritmos de minería de datos puedo usar para maximizar las ganancias de una compañía de tarjetas de regalo que almacena ventas, pedidos y datos de clientes en una base de datos relacional?

Dada una matriz con 1s y 0s, necesitamos crear una matriz tal que a [i] [j] = 1, si solo cada elemento en la fila i y columna j es 1, de lo contrario 0. Tenemos que usar un espacio constante y tener Una óptima complejidad temporal. ¿Cuáles son algunas posibles soluciones?

¿Qué algoritmos se pueden usar para encontrar rutas más seguras en una red de modo que sea casi imposible de rastrear y ningún pirata informático pueda utilizarlo completamente?

Si alguien pudiera factorizar rápidamente los números primos, ¿cuáles serían las consecuencias?

Cómo comenzar a aprender y explorar el campo de los Algoritmos de Big Data

¿Cuáles son los pros y los contras de imprimir una matriz en Java?