ANGULO CARMODY NCIOOLA
PROGRAMACION I
TRABAJO PRACTICO N° 4
Al ser ejercicios que se van complementando punto por punto, opte por hacer un solo programa
integral.(código fuente, capturas en IDE, y capturas del funcionamiento)
Además adjunto capturas de la resolución de cada punto.
1- Crear una clase “Persona”, con los siguientes atributos:
a. IdPersona: numérico entero
b. Dni: numérico entero
c. Apellido: cadena de texto
d. Nombre: cadena de texto
e. Edad: numérico entero
f. Género: texto
g. Peso: numérico con decimales
h. Altura: numérico con decimales
i. Domicilio: cadena de texto
2- Crear objetos a partir de la clase “Persona”. Crear 5 personas.
3- Instanciar 10 objetos de la clase “Persona” y guardarlos en un arreglo.
4- Con un bucle for, recorrer el arreglo y mostrar todos los datos de los objetos por pantalla.
ANGULO CARMODY NCIOOLA
5- Crear los siguientes métodos de la clase Persona:
a. Info: Debe devolver una cadena que integre el DNI, Apellido, Nombre y Domicilio
b. IMC: Indice masa corporal. A partir del cálculo Peso en kg/Altura elevado al cuadrado
en m). Si el resultado es menor a 20 mostrar: “Debajo de su peso ideal”. Si el resultado
está entre 20 y 25 mostrar: “Está en su peso ideal”. Si es mayor a 25, mostrar
“Sobrepeso”.
c. esMayorDeEdad: indica si es mayor o igual a 18 años. Devuelve un valor booleano.
6- Crear una clase ejecutable que haga lo siguiente:
a. Pedir al usuario el ingreso de los datos de 3 Personas, creando para cada una de
ellas un objeto.
b. Para cada objeto deberá comprobar su IMC mostrando el resultado.
c. Para cada objeto deberá calcular si es Mayor de Edad, mostrando el resultado.
d. Para cada objeto mostrar la info del mismo
7- Crear la clase “Profesor”, que herede de la clase “Persona”, y además tenga los atributos:
a. Materia: cadena de texto
ANGULO CARMODY NCIOOLA
b. CargaHoraria: numérico entero
8- Instanciar 10 objetos de la clase “Profesor” y guardarlos en un arreglo.
9- Con un bucle for, recorrer el arreglo del punto 8 completo y mostrar por pantalla todos los
datos de los Profesores que tengan Carga Horaria mayor a 10.
10- Investigue la clase Scanner en el lenguaje Java, e intégrela en un ejercicio que lo aplique.
La clase Scanner en Java se utiliza para leer datos de entrada. Es una herramienta muy útil para cuando el
programa necesita interactuar con el usuario o leer datos desde archivos.
¿Qué es Scanner?
Scanner es una clase del paquete [Link] que permite leer datos desde diferentes fuentes, como:
• El teclado ([Link])
• Un archivo (File)
• Una cadena de texto (String)
¿Para qué sirve?
Sirve para capturar y procesar datos que vienen en forma de texto, y convertirlos en tipos de datos como int,
double, String, etc.
Métodos útiles de Scanner
Método Qué hace
nextLine() Lee una línea completa (String)
next() Lee una palabra (hasta un espacio)
nextInt() Lee un entero
nextDouble() Lee un número decimal
hasNextLine() Verifica si hay más líneas
useDelimiter() Cambia el separador por defecto
Cuidado
• Siempre cerrar el Scanner con [Link]() cuando termines.
• Si mezclás nextLine() con nextInt() o nextDouble(), podés tener errores de salto de línea inesperados. A
veces se recomienda limpiar el buffer con [Link]() luego de un nextInt().
ANGULO CARMODY NCIOOLA
Adjunto capturas de donde se aplico en el programa
A continuación código del programa
package ejercicio1;
//punto 1. Clase Persona
class Persona {
int idPersona;
int dni;
String apellido;
String nombre;
int edad;
String genero;
double peso;
double altura;
String domicilio;
public Persona(int idPersona, int dni, String apellido, String nombre, int edad, String genero, double
peso, double altura, String domicilio) {
[Link] = idPersona;
[Link] = dni;
[Link] = apellido;
[Link] = nombre;
[Link] = edad;
[Link] = genero;
[Link] = peso;
[Link] = altura;
[Link] = domicilio;
}
//punto 5. metodos info, IMC y esMayor de edad
public String info() {
return "DNI: " + dni + ", Apellido: " + apellido + ", Nombre: " + nombre + ", Domicilio: " +
domicilio;
}
ANGULO CARMODY NCIOOLA
public String imc() {
double imc = peso / (altura * altura);
if (imc < 20) return "Debajo de su peso ideal";
else if (imc <= 25) return "Está en su peso ideal";
else return "Sobrepeso";
}
public boolean esMayorDeEdad() {
return edad >= 18;
}
public String toString() {
return "Persona N°" + idPersona +
", DNI n°=" + dni +
", Apellido='" + apellido + '\'' +
", Nombre='" + nombre + '\'' +
", Edad=" + edad +
", genero='" + genero + '\'' +
", peso=" + peso +
"kg, altura=" + altura +
"cm, domicilio='" + domicilio + '\'' +
'}';
}
}
//punto 7. Clase Profesor (hereda de Persona)
class Profesor extends Persona {
String materia;
int cargaHoraria;
public Profesor(int idPersona, int dni, String apellido, String nombre, int edad, String genero, double
peso, double altura, String domicilio, String materia, int cargaHoraria) {
super(idPersona, dni, apellido, nombre, edad, genero, peso, altura, domicilio);
[Link] = materia;
[Link] = cargaHoraria;
}
@Override
public String toString() {
return [Link]() + ", Materia: " + materia + ", Carga horaria: " + cargaHoraria;
}
}
//punto 6. Clase ejecutable
public class crearpersona {
public static void main(String[] args) {
[Link] sc = new [Link]([Link]);
// Punto 2: Crear 5 personas
Persona p1 = new Persona(1, 12345678, "Gomez", "Juan", 25, "M", 70.0, 1.75, "Calle Falsa 123");
Persona p2 = new Persona(2, 22345678, "Perez", "Ana", 30, "F", 60.0, 1.65, "Calle Real 456");
Persona p3 = new Persona(3, 32345678, "Lopez", "Carlos", 17, "M", 55.0, 1.70, "Av Siempre Viva 742");
Persona p4 = new Persona(4, 42345678, "Diaz", "Lucia", 22, "F", 68.0, 1.68, "Pasaje Luna 111");
Persona p5 = new Persona(5, 52345678, "Torres", "Mario", 40, "M", 85.0, 1.80, "Bv. San Martin 222");
// Punto 3: Arreglo de 10 personas
Persona[] personas = new Persona[10];
personas[0] = p1;
personas[1] = p2;
personas[2] = p3;
personas[3] = p4;
personas[4] = p5;
personas[5] = new Persona(6, 62345678, "Romero", "Sofia", 28, "F", 59.0, 1.60, "Av Rivadavia 1000");
personas[6] = new Persona(7, 72345678, "Mendez", "Luis", 32, "M", 77.0, 1.78, "Calle Libertad 123");
personas[7] = new Persona(8, 82345678, "Castro", "Elena", 19, "F", 62.0, 1.63, "Ruta 8 km 42");
personas[8] = new Persona(9, 92345678, "Silva", "Andres", 45, "M", 95.0, 1.85, "Calle Pampa 999");
personas[9] = new Persona(10, 10345678, "Rojas", "Laura", 16, "F", 50.0, 1.55, "Calle Moreno 75");
ANGULO CARMODY NCIOOLA
// Punto 4: Mostrar con for
for (Persona p : personas) {
[Link](p);
}
// Punto 6: Ingreso de 3 personas y mostrar info
for (int i = 0; i < 3; i++) {
[Link]("\nIngrese datos de la persona " + (i + 1));
[Link]("ID: "); int id = [Link]([Link]());
[Link]("DNI: "); int dni = [Link]([Link]());
[Link]("Apellido: "); String ape = [Link]();
[Link]("Nombre: "); String nom = [Link]();
[Link]("Edad: "); int edad = [Link]([Link]());
[Link]("Género (Masculino/Femenino): "); String gen = [Link]();
[Link]("Peso(en kg): "); double peso = [Link]([Link]());
[Link]("Altura(en cm): "); double alt = [Link]([Link]());
[Link]("Domicilio: "); String dom = [Link]();
Persona persona = new Persona(id, dni, ape, nom, edad, gen, peso, alt, dom);
[Link]("IMC: " + [Link]());
[Link]("Es mayor de edad: " + ([Link]() ? "Sí" : "No"));
[Link]("Info: " + [Link]());
}
// Punto 7 y 8: Profesores
Profesor[] profesores = new Profesor[10];
for (int i = 0; i < 10; i++) {
profesores[i] = new Profesor(i + 1, 10000000 + i, "Apellido" + i, "Nombre" + i, 30 + i, "M",
70 + i, 1.70 + (i * 0.01), "Domicilio " + i, "Materia" + i, 5 + i);
}
[Link]("\nProfesores con carga horaria > 10:");
for (Profesor prof : profesores) {
if ([Link] > 10) {
[Link](prof);
}
}
[Link]();
}
}
Adjunto además
capturas del código
funcionando
ANGULO CARMODY NCIOOLA
Por ultimo captura del código en
la consola.
ANGULO CARMODY NCIOOLA
ANGULO CARMODY NCIOOLA