1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / (Ayuda) Cómo puedo mejorar este trabajo? (POO Java)
« en: 21 de Octubre 2022, 23:48 »
Hola a todos, soy nuevo en el tema de la programacion orientada a objetos e hice esta consigna, pero no estoy contento con los resultados y creo que no cumplí correctamente todos los puntos que piden...
"Control de cada alumno que posee con sus materias y notas. Una
materia tiene muchos alumnos asignados y un alumno puede cursar varias materias.
Sabemos que:
Una materia posee un nombre y un cuatrimestre de cursada.
Un alumno posee un nombre y su edad.
Una asignación corresponde a la relación de una materia con un alumno.
Para toda asignación hay al menos tres notas, primer parcial, segundo parcial y trabajo práctico.
Para que la materia esté aprobada para el alumno, el promedio de las 3 notas debe ser mayor o igual a 6, en ese
caso, está la materia “Aprobada” si no “Reprobado”.
La escuela tiene una lista de asignaciones asociadas y un mecanismo para mostrar el estado de las asignaciones,
donde por pantalla se verá la siguiente información:
-Nombre del Alumno
-Nombre de la Materia
-Cuatrimestre de la Materia
-Notas
-Promedio
-Estado (Aprobado o Reprobado).
Actividades:
1. Hacer el diagrama de las clases necesarias y las relaciones para modelar el sistema.
2. Crear las clases necesarias para modelar el sistema solicitado con los atributos y métodos que consideres
necesarios para poder setear y obtener los datos de cada uno de los atributos descriptos anteriormente
con el constructor más adecuado.
3. Cada clase diseñada debe contener las declaraciones de métodos y variables siguiendo las reglas
sintácticas y por convención. También se aplican las reglas para los identificadores de proyecto y
paquete.
4. El código debe representar la sobreescritura del método toString().
5. Crear una clase EscuelaTest que:
1. Cree al menos 3 materias.
2. Cree al menos 3 alumnos.
3. Agregar a la lista de asignaciones de la escuela al menos 6 asignaciones de materias con
alumnos.
4. Para cada asignación se deben configurar el conjunto de notas.
5. Mostrar el resultado del estado de las asignaciones de materias y alumnos de la escuela."
Valoro cualquier consejo que me puedan dar, gracias
"Control de cada alumno que posee con sus materias y notas. Una
materia tiene muchos alumnos asignados y un alumno puede cursar varias materias.
Sabemos que:
Una materia posee un nombre y un cuatrimestre de cursada.
Un alumno posee un nombre y su edad.
Una asignación corresponde a la relación de una materia con un alumno.
Para toda asignación hay al menos tres notas, primer parcial, segundo parcial y trabajo práctico.
Para que la materia esté aprobada para el alumno, el promedio de las 3 notas debe ser mayor o igual a 6, en ese
caso, está la materia “Aprobada” si no “Reprobado”.
La escuela tiene una lista de asignaciones asociadas y un mecanismo para mostrar el estado de las asignaciones,
donde por pantalla se verá la siguiente información:
-Nombre del Alumno
-Nombre de la Materia
-Cuatrimestre de la Materia
-Notas
-Promedio
-Estado (Aprobado o Reprobado).
Actividades:
1. Hacer el diagrama de las clases necesarias y las relaciones para modelar el sistema.
2. Crear las clases necesarias para modelar el sistema solicitado con los atributos y métodos que consideres
necesarios para poder setear y obtener los datos de cada uno de los atributos descriptos anteriormente
con el constructor más adecuado.
3. Cada clase diseñada debe contener las declaraciones de métodos y variables siguiendo las reglas
sintácticas y por convención. También se aplican las reglas para los identificadores de proyecto y
paquete.
4. El código debe representar la sobreescritura del método toString().
5. Crear una clase EscuelaTest que:
1. Cree al menos 3 materias.
2. Cree al menos 3 alumnos.
3. Agregar a la lista de asignaciones de la escuela al menos 6 asignaciones de materias con
alumnos.
4. Para cada asignación se deben configurar el conjunto de notas.
5. Mostrar el resultado del estado de las asignaciones de materias y alumnos de la escuela."
Código: [Seleccionar]
package domain;
public class Alumno {
private String nombre;
private int edad;
public Alumno() {
}
public Alumno(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
@Override
public String toString() {
return "Alumno [nombre=" + nombre + ", edad=" + edad + "]";
}
}
Código: [Seleccionar]
package domain;
public class Materia {
private String nombre;
private int cuatrimestre;
// Constructores
public Materia() {
}
public Materia(String nombre, int cuatrimestre) {
this.nombre = nombre;
this.cuatrimestre = cuatrimestre;
}
//get y set
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getCuatrimestre() {
return cuatrimestre;
}
public void setCuatrimestre(int cuatrimestre) {
this.cuatrimestre = cuatrimestre;
}
// Metodos
@Override
public String toString() {
return "Materia [nombre=" + nombre + ", cuatrimestre=" + cuatrimestre + "]";
}
}
Código: [Seleccionar]
package domain;
public class Nota {
public int nota1;
public int nota2;
public int nota3;
public Nota(int nota1, int nota2, int nota3){
this.nota1 = nota1;
this.nota2 = nota2;
this.nota3 = nota3;
}
public double calcularPromedio(){
return (double)(nota1 + nota2 + nota3) / 3;
}
public boolean estadoNota() {
if(this.calcularPromedio() >= 6) {
return true;
}else {
return false;
}
}
public String mostrarEnCadena() {
return String.format(estadoNota() ? "APROBADO" : "REPROBADO");
}
@Override
public String toString() {
return "Notas [Parcial 1= " + nota1 + ", Parcial 2= " + nota2 + " Promedio= " + calcularPromedio() + " Estado: " + mostrarEnCadena() + "]";
}
}
Código: [Seleccionar]
package test;
import domain.Materia;
import domain.Alumno;
import domain.Nota;
public class EscuelaTest {
public static void main(String[] args) {
Alumno alumno1 = new Alumno("Pepe", 24);
Materia materia1 = new Materia("Biologia", 2);
Nota nota1 = new Nota(1, 1, 1);
System.out.println(alumno1);
System.out.println(materia1);
System.out.println(nota1);
System.out.println("-----------------");
}
}
Valoro cualquier consejo que me puedan dar, gracias