Java - Ayuda con ejercicio de lista con clase

 
Vista:

Ayuda con ejercicio de lista con clase

Publicado por Theseap (4 intervenciones) el 16/10/2020 07:42:07
hola de ante manos muchas gracias el ejercicio cual es con un menu y lista, pero en este caso pide una clase.

Crear un programa con el siguiente menú:
Menú:
1. Ingresar mascota
2. Mostrar mascotas
3. Salir
seleccione opción:
Para este ejercicio debe considerar crear la clase mascota para guardar en una lista
todos los datos de una mascota. Los datos de la mascota son:
• Nombre
• RUT dueño
• Raza
• Teléfono
• Fecha nacimiento
Opción ingresar mascota: Lee los datos de la mascota y los guarda en una lista.
Opción mostrar mascota: Muestra las mascotas que han ingresado. Si no existen
mascotas ingresadas, debe mostrar un mensaje indicándolo.
Opción salir: Sale del programa

He creado la clase, subo mi código, faltaría crear el main pero no e podido avanzar, me trabo en cada paso

Clase mascota
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
public class mascota {
 
	private String nombre;
	private String rutdueno;
	private String raza;
	private String telefono;
	private String fecha_nacimiento;
 
	public mascota() {
		nombre = "";
		rutdueno = "";
		raza = "";
		telefono = "";
		fecha_nacimiento = "";
	}
 
	public mascota(String nombre, String rutdueno, String raza, String telefono, String fecha_nacimiento) {
		this.nombre = nombre;
		this.rutdueno = rutdueno;
		this.raza = raza;
		this.telefono = telefono;
		this.fecha_nacimiento = fecha_nacimiento;
	}
 
	public String getNombre() {
		return nombre;
	}
 
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
 
	public String getRutdueno() {
		return rutdueno;
	}
 
	public void setRutdueno(String rutdueno) {
		this.rutdueno = rutdueno;
	}
 
	public String getRaza() {
		return raza;
	}
 
	public void setRaza(String raza) {
		this.raza = raza;
	}
 
	public String getTelefono() {
		return telefono;
	}
 
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getFecha_nacimiento() {
		return fecha_nacimiento;
	}
 
	public void setFecha_nacimiento(String fecha_nacimiento) {
		this.fecha_nacimiento = fecha_nacimiento;
	}
 
 
 
	public String toString() {
		return "Nombre: " + nombre +
				"\nRUTdueno: " + rutdueno +
				"\nRaza: " + raza +
				"\nTelefono: " + telefono +
				"\nFecha_nacimiento: " + fecha_nacimiento;
 
	}
 
}
faltaria el main pero no se como llamar a la clase al menu e hecho el intento pero no logro avanzar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Ejercicio26 {
 
	public static void main(String[] args) {
		int opcion =3;
		Scanner sc=new Scanner(System.in);
		mascota in = new mascota();
 
		System.out.print("\nMenú\n");
		System.out.print("\n1. Ingresar mascota");
		System.out.print("\n2. Lista de mascotas");
		System.out.print("\n3. salir");
		System.out.print("\nopcion : ");
 
		opcion = Integer.parseInt(sc.nextLine());
	}
 
 
 
 
 
	public static void opciones(int opcion) {
		switch(opcion) {
		case 1:
			System.out.println("Ingreso nueva mascota: ");
			break;
 
		case 2:
			System.out.println("Lista de mascota");
			break;
 
		case 3:
			System.out.println("Fin del programa");
			System.exit(0);
			break;
		}
 
 
		}
 
 
 
 
}
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: 2.821
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con ejercicio de lista con clase

Publicado por Kabuto (741 intervenciones) el 16/10/2020 13:12:12
Hola.
Tu clase Mascota está bien, pero recuerda que en Java las clases lo correcto es que su nombre comiencen por mayúscula.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class Mascota {
 
	private String nombre;
	private String rutdueno;
	private String raza;
	private String telefono;
	private String fecha_nacimiento;
 
	public Mascota() {
		nombre = "";
		rutdueno = "";
		raza = "";
		telefono = "";
		fecha_nacimiento = "";
	}
 
	public Mascota(String nombre, String rutdueno, String raza, String telefono, String fecha_nacimiento) {
		this.nombre = nombre;
		this.rutdueno = rutdueno;
		this.raza = raza;
		this.telefono = telefono;
		this.fecha_nacimiento = fecha_nacimiento;
	}
 
	public String getNombre() {
		return nombre;
	}
 
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
 
	public String getRutdueno() {
		return rutdueno;
	}
 
	public void setRutdueno(String rutdueno) {
		this.rutdueno = rutdueno;
	}
 
	public String getRaza() {
		return raza;
	}
 
	public void setRaza(String raza) {
		this.raza = raza;
	}
 
	public String getTelefono() {
		return telefono;
	}
 
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getFecha_nacimiento() {
		return fecha_nacimiento;
	}
 
	public void setFecha_nacimiento(String fecha_nacimiento) {
		this.fecha_nacimiento = fecha_nacimiento;
	}
 
	public String toString() {
		return "Nombre: " + nombre +
				"\nRUT dueño: " + rutdueno +
				"\nRaza: " + raza +
				"\nTeléfono: " + telefono +
				"\nFecha Nacimiento: " + fecha_nacimiento;
	}
 
}


Sobre como hacer el main.
Lo primero que necesitas es una lista, por ejemplo ArrayList, donde almacenar los objetos Mascota que se vayan creando durante la ejecución del programa.

Luego el main que se encargue de mostrar menú y analizar que opción se ha introducido mediante un switch.
Este switch lo que hará es llamar a distintos métodos según la opción.

Es decir, habrá un método para registrar una nueva Mascota y otro para listar las Mascotas ya registradas.

El método para registrar Mascota lo que hará será pedir los datos: nombre, RUT, raza, etc...
Y cuando se tengan todos los datos, se crea una nueva mascota y se añade al ArrayList.

EL método para listar Mascotas, pues simplemente recorrerá la lista con un bucle y mostrará los datos de cada Mascota, que como ya le has puesto un método toString(), bastará con un par de líneas de código.

Te dejo a continuación mi propuesta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.util.ArrayList;
import java.util.Scanner;
 
public class MenuMascotas {
 
	//Lista para guardar Mascotas
	private static ArrayList<Mascota> mascotas = new ArrayList<Mascota>();
	//Scanner para lectura por teclado
	private static Scanner teclado = new Scanner(System.in);
 
	public static void main(String[] args) {
 
		int opcion = 0;
 
		while (opcion != 3) {
 
			System.out.print("\nMenú\n");
			System.out.print("\n1. Ingresar mascota");
			System.out.print("\n2. Lista de mascotas");
			System.out.print("\n3. Salir");
			System.out.print("\nopcion : ");
 
			opcion = Integer.parseInt(teclado.nextLine());
 
			switch(opcion) {
			case 1:
				ingresarMascota();
				break;
			case 2:
				listarMascotas();
				break;
			case 3:
				System.out.println("\nFIN DE PROGRAMA");
				break;
			default:
				System.out.println("\nOpción errónea");
			}
		}
 
	}
 
	private static void ingresarMascota() {
		//Pedimos datos
		System.out.println("\n\t\tINGRESAR MASCOTA");
		System.out.println("\t\t-------- -------\n");
		System.out.print("Nombre Mascota: ");
		String nombre = teclado.nextLine();
		System.out.print("RUT Dueño: ");
		String rut = teclado.nextLine();
		System.out.print("Raza: ");
		String raza = teclado.nextLine();
		System.out.print("Teléfono: ");
		String telef = teclado.nextLine();
		System.out.print("Fecha Nacimiento: ");
		String fecha = teclado.nextLine();
		//Datos obtenidos, añadimos nueva Mascota a la lista
		mascotas.add(new Mascota(nombre, rut, raza, telef, fecha));
		System.out.println("\nMascota registrada...\n\n");
	}
 
	private static void listarMascotas() {
 
		System.out.println("\n\t\tLISTA MASCOTAS");
		System.out.println("\t\t----- --------\n");
		for (Mascota masc: mascotas) {
			System.out.println(masc);
			System.out.println("\n\t\t------------------\n");
		}
 
		System.out.println("Total mascotas: " + mascotas.size() + "\n\n");
	}
 
}
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
Imágen de perfil de Rodrigo
Val: 1.977
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con ejercicio de lista con clase

Publicado por Rodrigo (529 intervenciones) el 16/10/2020 16:17:23
Sugiero borrar todos los getters y setters si no se usa ninguno.
No parece ser necesario, puesto que usando toString se satisface todo lo que se pide.
En el caso de no haber mascotas habria que poner esa condicion adicional al momento de listarlas.
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

Ayuda con ejercicio de lista con clase

Publicado por Theseap (4 intervenciones) el 29/10/2020 22:47:20
Si quisiera añadir a este ejercicio la función de buscar y eliminar, como lo muestra aquí

Opción buscar Mascota: busca una mascota por su nombre. Si la mascota se encuentra
debe mostrar sus datos, en caso contrario muestra un mensaje de no encontrado.
Opción eliminar Mascota: elimina todas las mascotas que sean de una determinada raza.
Se debe leer por consola la raza.


el menu es facil de modificar
1
2
3
4
5
6
7
System.out.print("\nMenú\n");
System.out.print("\n1. Ingresar mascota");
System.out.print("\n2. Lista de mascotas");
System.out.print("\n3. Buscar mascota");
System.out.print("\n4. Eliminar mascota");
System.out.print("\n5. Salir");
System.out.print("\nopcion : ");

pero crear los case, como tendria que hacerlo
1
2
3
4
5
6
7
8
case 3:
    System.out.print("\n3. Buscar mascota");
    System.out.println("\nIntroduzca el nombre de la mascota quiere buscar:\n");
 
 
    break;
case 4:
    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