Java - Ayuda Clase Dinamica

 
Vista:

Ayuda Clase Dinamica

Publicado por Tony Hernandez (4 intervenciones) el 29/10/2012 05:25:57
Me asignaron un programa el cual debe reportar:

Nombre: Anthony Hernandez (Nombre del estudiante)
Numero de ID: *****2856 (Numero de SeguroSocial)
Código y Curso Créditos Nota (Registro de los cursos que toma)
SICI 3030 Telecomm. 3 A
SICI 3020 Prog. C# 3 B
SICI 3000 Database 3 D
SICI 4175 Java Prog 3 B

Total GPA: = 2.75 (Calculo del promedio de ese semestre)

El codigo ya reporta eso lo que me falta es hacerlo dinámico: El usuario puede poner más de un estudiante y cada estudiante puede tener 1 o mas cursos con sus respectivas notas y promedios.
Si el estudiante tiene deuda entonces en el area de Nota reporta "*". Si pueden ayudarme con esto se lo agredecería mucho

Clase Main General:
package Clases;
import java.util.*;
public class mainClass {
public static void main(String[] args) {
// Scanner input = new Scanner(System.in);

// String NombreEst;
// String ApellidoEst;
// String SocialEst;
// String NombreCurso;
// String NumeroCurso;
// int NumCredits;

// System.out.println("Bienvenido al sistema");
// System.out.println("Elija una de las opciones a continuacion");
// System.out.println("----------------------------------------");
// System.out.println("1- Registrar Estudiantes");
// System.out.println("2- Ver Info Estudiantes");
// System.out.println("3- Salir del sistema");
//
// int Seleccion = input.nextInt();
//
// System.out.println("----------------------------------------");
//
// if (Seleccion == 1){
// System.out.println("Cuantos estudiantes va a ingresar?");
// int SeleccionEst = input.nextInt();
// for (int k = 0; k == SeleccionEst; k++){
// System.out.println("Ingrese el nombre del estudiante");
// NombreEst = input.next();
// System.out.println("Ingrese el apellido del estudiante " + NombreEst);
// ApellidoEst = input.next();
// System.out.println("Ingrese el Seguro Social del estudiante " + NombreEst + " " + ApellidoEst);
// SocialEst = input.next();
// System.out.println("Cuantos cursos va a ingresar del estudiante " + NombreEst + " " + ApellidoEst);
// int Seleccion2 = input.nextInt();
// for (int j = 0; j == Seleccion2; j++){
// System.out.println("Ingrese el nombre del curso");
// NombreCurso = input.next();
// System.out.println("Ingrese el codigo del curso " + NombreCurso);
// NumeroCurso = input.next();
// System.out.println("Ingrese la cantidad de créditos del curso " + NombreCurso + " " + NumeroCurso);
// NumCredits = input.nextInt();
// Estudiante Estudiantes[] = new Estudiante[k];
// Cursos Curso[] = new Cursos[j];
// char[] ArregloNotas = new char[Curso.length];
// }
// }
// }
// if (Seleccion == 2){
// System.out.println("Ingrese el estudiante para ver calificaciones");
// String Seleccion3 = input.next();
// }
// if (Seleccion == 3){
// System.exit(0);
// }
// }
Cursos[] ArregloCurso = new Cursos[4];
char[] ArregloNotas = new char[ArregloCurso.length];
ArregloCurso [0] = new Cursos("SICI 3030","Telecomm.",3);
ArregloCurso [1] = new Cursos("SICI 3020","Prog. C# ",3);
ArregloCurso [2] = new Cursos("SICI 3000","Database ",3);
ArregloCurso [3] = new Cursos("SICI 4175","Java Prog",3);

Estudiante x = new Estudiante("Anthony", "Hernandez", "843092856");

//If que determina si tiene deuda para mostrar las notas en pantalla o no
if(x.getDeudas()){
ArregloNotas [0] = ('*');
ArregloNotas [1] = ('*');
ArregloNotas [2] = ('*');
ArregloNotas [3] = ('*');
}
else{
ArregloNotas [0] = ('A');
ArregloNotas [1] = ('B');
ArregloNotas [2] = ('D');
ArregloNotas [3] = ('B');
}

System.out.println(x.printPersonaInfo());
System.out.println(" Código y Curso" + " " + "Créditos" + " " + "Nota");

//For para mostrar el arreglo
for (int i=0; i<ArregloCurso.length; i++ ){
System.out.println(" " + ArregloCurso[i].getCourseName() + " " + ArregloCurso[i].getCourseNro() + " " + ArregloCurso[i].getcourseCredits() + " " + ArregloNotas[i]);
}

//For para mostrar creditos del arreglo cursos
int w = 0;
for(int j = 0; j<ArregloCurso.length;j++){
w += ArregloCurso[j].getcourseCredits();
}

System.out.println(" ");

//For para mostrar el promedio acumulado
double v = 0.0;
for (int t = 0; t < ArregloCurso.length; t++){
v +=(x.PuntosHonor(ArregloNotas[t], ArregloCurso[t].getcourseCredits()));
}
System.out.println("Total GPA: = " + v/w);
}
}

Clase Cursos:

public class Cursos{
public String CourseName;
public String CourseNro;
public int courseCredits;
private Cursos[] Curso;

public Cursos( String Nombre, String Numero, int Creditos){
CourseName = Nombre;
CourseNro = Numero;
courseCredits = Creditos;
}
//Metodo para modificar valor CourseName
public void setCourseName( String Nombre ) {
CourseName = Nombre;
}
//Metodo para obtener valor CourseName
public String getCourseName(){
return this.CourseName;
}
//Metodo para modificar CourseNro
public void setCourseNro( String Numero ){
CourseNro = Numero;
}
//Metodo para obtener valor CourseNro
public String getCourseNro(){
return this.CourseNro;
}
//Metodo para modificar courseCredits
public void setcourseCredits( int Creditos) {
courseCredits = Creditos;
}
//Metodo para obtener valor courseCredits
public int getcourseCredits(){
return this.courseCredits;
}
public void CopyCourse(String Nombre, String Numero, int Creditos){
//Esto es para copiar un curso que volvio a tomar pero esta vez aprobó la clase.
}
//Imprime la informacion de cada curso
public String printCursosInfo(){
return String.format(CourseNro + "\t" + CourseName + "\t" + courseCredits);
}
}

Clase Abstracta Persona:

//La class persona aqui definida es la superclase
public abstract class Persona {
//Declaracion de variables
public String Nombre;
public String Apellido;
public String SeguroSocial;

//Estructura del objeto Persona
public Persona( String first, String last, String ssn){
Nombre = first;
Apellido = last;
SeguroSocial = ssn;
}
//Metodo para obtener valor first name
public String getNombre(){
return Nombre;
}
//Metodo para modificar valor first name
public void setNombre( String first ) {
Nombre = first;
}

//Metodo para obtener valor last name
public String getApellido(){
return Apellido;
}
//Metodo para modificar valor last name
public void setApellido( String last ){
Apellido = last;
}

//Metodo para obtener valor social security number
public String getSeguroSocial(){
return SeguroSocial;
}
//Metodo para modificar valor social security number
public void setSeguroSocial( String ssn ) {
SeguroSocial = ssn;
}

public abstract String totalDeuda(boolean deuda);

//Metodo que imprime la informacion del objeto persona
public String printPersonaInfo(){
//Elimina del string de seguro social los digitos dejando
//los ultimos cuatro digitos del seguro social.
String mod = SeguroSocial.substring(5);
return String.format( "%s: %s %s\n%s: %s ",
"Nombre", Nombre, Apellido,
"Numero de ID", "*****" + mod);
}
}

Clase Estudiante derivada(Extends) Persona:
import java.util.*;

public class Estudiante extends Persona{
private int NumeroCursos;
private Cursos[] CreditosCursados;
private Cursos[] CreditosAprobados;
private Estudiante[] Estudiantes;
private char[] Notas;
private boolean deuda;
private double totalGPA = 0.0;

public Estudiante(String Nombre, String Apellido, String SeguroSocial){
super(Nombre,Apellido,SeguroSocial);
this.NumeroCursos = NumeroCursos;
this.CreditosCursados = new Cursos[NumeroCursos] ;
this.CreditosAprobados = new Cursos[NumeroCursos];
this.Notas = new char[NumeroCursos];
this.deuda = deuda;

}
public String printDeuda(){
return super.toString() + String.format( "\n%s %s \n",
"Deuda:", totalDeuda(deuda));
}
//Método que determina la nota
public double PuntosHonor(char nota, double numCredito){
int z = 0;
if (nota == 'A'){
z = 4;}
else if (nota == 'B'){
z = 3;}
else if (nota == 'C'){
z = 2;}
else if (nota == 'D'){
z = 1;}
else if (nota == 'F'){
z = 0;}

double PuntosHnr = 0.0;
PuntosHnr +=(z * numCredito);
return PuntosHnr;
}
Scanner input = new Scanner(System.in);
// private int NumerodeCursos = 0;
// private int CreditosCursados = 0;
// private int CreditosAprobados = 0;
// private boolean Deuda = false;
// private double totalGPA = 0;
// public Cursos[] Curso;
// public Estudiante[] Estudiantes;
// public String[] Calificaciones = {"A","B","C","D","F"};

// public void IngresarCursoInfo(int Seleccion2, String NombreCurso, String NumeroCurso, int NumCredits){
// //Curso[Seleccion2] = new Cursos(CourseName,CourseNro,courseCredits);
// }
// public void IngresarInfo(int Seleccion, String NombreEst, String ApellidoEst, String SocialEst){
// //Estudiantes[Seleccion] = new Estudiante(firstName,lastName,socialSecurityNumber);
// }
// public void MostrarInfo(String Seleccion3){
// }
// public void CalcularCreditos(){
//
// }
// public void CalcularGPA(){
//
// }
// public void OrdenarCursoPorCursoNro(){
//
// }
@Override public String totalDeuda(boolean deuda){
String existe = "No hay deuda pendiente";
if (deuda) {
existe = "Hay deuda pendiente";
}
return existe;
}
public boolean getDeudas(){
return this.deuda;
}
}
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