Java - Una ayudita plis

 
Vista:
Imágen de perfil de Erika

Una ayudita plis

Publicado por Erika (2 intervenciones) el 08/11/2021 16:22:50
en el caso 2 quisiera q al pedir un apellido traiga los demas datos "nombre y telefono" de esa persona..plis

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
String buscar[][]=new String [4][3];
buscar[0][0]="Apellido";
buscar[0][1]="Nombre";
buscar[0][2]="Telefono";

buscar[1][0]="Hernande";
buscar[1][1]="Erikae";
buscar[1][2]="5734897";

buscar[2][0]="Arcosert";
buscar[2][1]="Aridai";
buscar[2][2]="3253265";

buscar[3][0]="Arcosfgh";
buscar[3][1]="Aridai";
buscar[3][2]="3253265";

Scanner teclado = new Scanner(System.in);
String opc = " ";
do {
System.out.println();
System.out.print("----- Menú Principal -----"
+ "\nA. Ver la Lista"
+ "\nB. BUscar por su Apellido"
+ "\nC. Salir"
+ "\n");

System.out.println("Seleccione que accion desea realizar");
opc = teclado.nextLine();

switch (opc) {
case "a":
case "A":
String cad="";
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
cad+=buscar[i][j]+" ";
}
cad+="\n";
}
System.out.println(cad);
break;
//case "b":
//case "B": suma();break;
case "c":
case "C":
System.out.println();
System.out.println("Gracias por usar la aplicación. Vuelva Pronto");
}

}while(!opc.equalsIgnoreCase("C"));



}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Una ayudita plis

Publicado por Kabuto (1381 intervenciones) el 08/11/2021 18:00:17
Hay que recorrer todas las filas con un bucle for y preguntar por la columna [0], que es la que tiene el apellido, a ver si coincide con el apellido que el usuario haya indicado.
Cuando se encuentre una coincidencia, se muestran las columnas [1] y [2], que son el nombre y el apellido.

Con un boolean, podemos controlar si se ha encontrado o no ese apellido. En caso de no encontrarse, lo sabremos por el boolean y podremos informar en pantalla.
Incluso podemos añadirlo como condición del bucle for, así cuando se encuentre el apellido, el bucle for terminará sin seguir comprobando el resto de filas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case "b":
				case "B":
					System.out.print("Indique apellido: ");
					String ape = teclado.nextLine();
					boolean encontrado = false;
					for (int fila = 0; fila < buscar.length && !encontrado; fila++) {
						if (buscar[fila][0].equals(ape)) {
							encontrado = true;
							System.out.println("Nombre: " + buscar[fila][1]);
							System.out.println("Teléfono: " + buscar[fila][2]);
						}
					}
					if (!encontrado)
						System.out.println("No existe registro con ese apellido");
					break;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar