Ayuda con una agenda
Publicado por Cecilia (1 intervención) el 16/11/2009 02:57:12
Hola!
Por favor! Necesito ayuda urgente....
Hace poco que empecé a usar Java, y en la facultad me dieron como trabajo práctico hacer una agenda de registro de actividades de este tipo:
*De 8 a 20hs
*Actividad por hora( puede ocupar mas de una hora)
*Se almacenará la actividad con estas reseñas:
- Tipo de actividad: personal, laboral,familiar
-Estado de actividad: Pendiente, Realizada,Postergada,Cancelada
- Breve descripción.
Las act comienzan y finalizan el mismo día. Y para almacenar una act el horario debe estar disponible.
*Tiene que haber un menú de opciones:
1- Armar la agenda
2- Ingresar actividad
3- Comprobar disponibilidad
4- Cancelar actividad
5- Modificar actividad
6- Ver act de un día
7- Ver act de una semana
* Para agregar la act, hay que validar la fecha y el horario tiene que estar disponible
*Para cancelar, hay que indicar la fecha y el horario de inicio y fin
* Para modificar, se ingresará fecha y hora. Y se podrá hacer siempre y cuando el nuevo horario esté disponible
--------------------------
Yo lo que hice fue plantear 5 clases:
-Hora
-Fecha
-Actividad (que maneja sus fechas y horas con las clases anteriores)
-Agenda (que se encarga de "administrar" las actividades)
-Prueba Agenda (Petición e ingreso de datos al usuario, o sea donde está el main)
Esto fuí haciendo en el Eclipse.
package agenda;
-------------------------------------------
public class Hora
{
private int horaIn,horaFin;
//Getters
public int getHoraIn() {
return horaIn;
}
public int getHoraFin() {
return horaFin;
}
//Constructor con parámetros
public Hora(int horaIn, int horaFin)
{
this.horaIn = horaIn;
this.horaFin = horaFin;
}
//Validacion para hora inicial de la agenda
public String ValidarHoraIn()
{
if((horaIn>8)&&(horaIn<20))
return ("Hora válida");
else
return "Hora invalida para la agenda";
}
//Validacion para hora final
public String ValidarHoraFin()
{
if((horaFin>8)&&(horaFin<20))
return ("Hora válida");
else
return "Hora invalida para la agenda";
}
//Hora Inicial para el arreglo
int horaIniAct=8;
public int HoraIniArreglo()
{
return (horaIn-horaIniAct);
}
//Hora Final para el arreglo
int horaFinAct=8;
public int HoraFinArreglo()
{
return (horaFin-horaFinAct);
}
}
-----------------------------------------
package agenda;
public class Fecha
{
private int dia;
private int mes;
private String nombreMes;
private int año;
//Getters
public int getDia() {
return dia;
}
public int getMes() {
return mes;
}
public String getNombreMes() {
return nombreMes;
}
public int getAño() {
return año;
}
//Validacion del dia
public boolean validarMes()
{
if ((mes>=1)&&(mes<=12))
return true;
else
return false;
}
//Nombre del mes
public String nombreMes()
{
switch(mes)
{
case 1:{nombreMes = "Enero";break;}
case 2: {nombreMes="Febrero";break;}
case 3: {nombreMes= "Marzo";break;}
case 4:{nombreMes = "Abril";break;}
case 5: {nombreMes="Mayo";break;}
case 6: {nombreMes= "Junio";break;}
case 7:{nombreMes = "Julio";break;}
case 8: {nombreMes="Agosto";break;}
case 9: {nombreMes= "Septiembre";break;}
case 10:{nombreMes = "Octubre";break;}
case 11: {nombreMes="Noviembre";break;}
case 12: {nombreMes= "Diciembre";break;}
}
return nombreMes;
}
//Cant día
public int cantDia()
{
int cantDias=0;
if ((nombreMes()== "Enero")||(nombreMes()=="Marzo")||(nombreMes()=="Mayo")||((nombreMes()=="Julio")||(nombreMes()=="Agosto")||((nombreMes()=="Octubre")||((nombreMes()=="Diciembre")))))
{
cantDias=31;
}
else if(((nombreMes()=="Abril")||((nombreMes()=="Junio")||((nombreMes()=="Septiembre")||(nombreMes()=="Noviembre")))))
{
cantDias=30;
}
else if ((nombreMes()=="Febrero"))
{
if((this.año%4==0)&&(this.año%100!=0)||(this.año%400==0))
cantDias=29;
else
cantDias=28;
}
return cantDias;
}
//Numero de columna para la matriz
public int columnaMatriz()
{
int numColum=0;
{
if(mes==1)
numColum=this.dia-1;
if (mes==2)
numColum=this.dia+31-1;
if(mes==3)
numColum=this.dia+59-1;
if(mes==4)
numColum=this.dia+90-1;
if(mes==5)
numColum=this.dia+120-1;
if(mes==6)
numColum=this.dia+151-1;
if(mes==7)
numColum=this.dia+181-1;
if(mes==8)
numColum=this.dia+212-1;
if(mes==9)
numColum=this.dia+243-1;
if(mes==10)
numColum=this.dia+273-1;
if(mes==11)
numColum=this.dia+304-1;
if(mes==12)
numColum=this.dia+334-1;
}
return numColum;
}
//Constructor
public Fecha(int dia, int mes, String nombreMes, int año)
{
this.dia = dia;
this.mes = mes;
this.nombreMes = nombreMes;
this.año = año;
}
}
------------------------------------------------------------------
package agenda;
public class Actividad
{
private Fecha diaAct;
private Fecha mesAct;
private Hora horaIni,horaFin;
private String tipo,estado,descripcion;
//Getters
public Fecha getDiaAct() {
return diaAct;
}
public Hora getHoraIni() {
return horaIni;
}
public Hora getHoraFin() {
return horaFin;
}
public String getTipo() {
return tipo;
}
public Fecha getMesAct() {
return mesAct;
}
public String getEstado() {
return estado;
}
public String getDescripcion() {
return descripcion;
}
public Actividad(Fecha diaAct,Fecha mesAct, Hora horaIni, Hora horaFin, String tipo,
String estado, String descripcion)
{
this.diaAct = diaAct;
this.mesAct=mesAct;
this.horaIni = horaIni;
this.horaFin = horaFin;
this.tipo = tipo;
this.estado = estado;
this.descripcion = descripcion;
}
}
-----------------------------------------------------
package agenda;
public class Agenda
{
private int año;
private Actividad matriz[][];
public int getAño()
{
return año;
}
//constructor
public Agenda(int año)
{
this.año= año;
matriz=new Actividad [12][365];
for(int i=0;i<this.matriz.length;i++)
for(int j=0;j<this.matriz[i].length;i++)
this.matriz[i][j]=null;
}
public boolean agregaAct(Actividad act)
{
this.matriz[horaIni][dia]= act;
}
}
-----------------------------------(Nose como hacer para agregar una actividad a la agenda....me tira siempre error)
----------------------------------
package agenda;
import java.util.*;
public class PruebaAgenda
{
public static void main(String[] args)
{
Scanner in= new Scanner (System.in);
in.useDelimiter(System.getProperty("line.separator"));
Hora horaIni,horaFin;
Fecha dia,mes,año;
String tipo,estado,descripcion;
Agenda age2009;
System.out.println("Año: ");
año=in.nextInt();
age2009= new Agenda(año);
System.out.println("Ingrese mes de actividad: ");
mes=in.nextInt();
System.out.println("Ingrese dia de la actividad");
dia=in.nextInt();
System.out.println("Hora de inicio: ");
horaIni=in.nextInt();
System.out.println("Hora final: ");
horaFin=in.nextInt();
System.out.println("Tipo");
tipo=in.next();
System.out.println("Estado:");
estado=in.next();
System.out.println("Desc");
descripcion=in.next();
if(age2009.agregaAct(dia, mes, horaIni, horaFin, tipo, estado, descripcion))
System.out.println("Se agregó la actrividad a la agenda");
}
}
----------------------------------------Y esto último está lleno de errores, porque se viene "arrastrando" desde la Clase AGENDA.
Por favor...si alguien se puede tomar el tiempo de corregirmelo....
y decirme en dónde me estoy equivocando,o si me puede aportar algo, se lo agradecería mucho...
MUCHAS GRACIAS!! ^^
Cecilia
Por favor! Necesito ayuda urgente....
Hace poco que empecé a usar Java, y en la facultad me dieron como trabajo práctico hacer una agenda de registro de actividades de este tipo:
*De 8 a 20hs
*Actividad por hora( puede ocupar mas de una hora)
*Se almacenará la actividad con estas reseñas:
- Tipo de actividad: personal, laboral,familiar
-Estado de actividad: Pendiente, Realizada,Postergada,Cancelada
- Breve descripción.
Las act comienzan y finalizan el mismo día. Y para almacenar una act el horario debe estar disponible.
*Tiene que haber un menú de opciones:
1- Armar la agenda
2- Ingresar actividad
3- Comprobar disponibilidad
4- Cancelar actividad
5- Modificar actividad
6- Ver act de un día
7- Ver act de una semana
* Para agregar la act, hay que validar la fecha y el horario tiene que estar disponible
*Para cancelar, hay que indicar la fecha y el horario de inicio y fin
* Para modificar, se ingresará fecha y hora. Y se podrá hacer siempre y cuando el nuevo horario esté disponible
--------------------------
Yo lo que hice fue plantear 5 clases:
-Hora
-Fecha
-Actividad (que maneja sus fechas y horas con las clases anteriores)
-Agenda (que se encarga de "administrar" las actividades)
-Prueba Agenda (Petición e ingreso de datos al usuario, o sea donde está el main)
Esto fuí haciendo en el Eclipse.
package agenda;
-------------------------------------------
public class Hora
{
private int horaIn,horaFin;
//Getters
public int getHoraIn() {
return horaIn;
}
public int getHoraFin() {
return horaFin;
}
//Constructor con parámetros
public Hora(int horaIn, int horaFin)
{
this.horaIn = horaIn;
this.horaFin = horaFin;
}
//Validacion para hora inicial de la agenda
public String ValidarHoraIn()
{
if((horaIn>8)&&(horaIn<20))
return ("Hora válida");
else
return "Hora invalida para la agenda";
}
//Validacion para hora final
public String ValidarHoraFin()
{
if((horaFin>8)&&(horaFin<20))
return ("Hora válida");
else
return "Hora invalida para la agenda";
}
//Hora Inicial para el arreglo
int horaIniAct=8;
public int HoraIniArreglo()
{
return (horaIn-horaIniAct);
}
//Hora Final para el arreglo
int horaFinAct=8;
public int HoraFinArreglo()
{
return (horaFin-horaFinAct);
}
}
-----------------------------------------
package agenda;
public class Fecha
{
private int dia;
private int mes;
private String nombreMes;
private int año;
//Getters
public int getDia() {
return dia;
}
public int getMes() {
return mes;
}
public String getNombreMes() {
return nombreMes;
}
public int getAño() {
return año;
}
//Validacion del dia
public boolean validarMes()
{
if ((mes>=1)&&(mes<=12))
return true;
else
return false;
}
//Nombre del mes
public String nombreMes()
{
switch(mes)
{
case 1:{nombreMes = "Enero";break;}
case 2: {nombreMes="Febrero";break;}
case 3: {nombreMes= "Marzo";break;}
case 4:{nombreMes = "Abril";break;}
case 5: {nombreMes="Mayo";break;}
case 6: {nombreMes= "Junio";break;}
case 7:{nombreMes = "Julio";break;}
case 8: {nombreMes="Agosto";break;}
case 9: {nombreMes= "Septiembre";break;}
case 10:{nombreMes = "Octubre";break;}
case 11: {nombreMes="Noviembre";break;}
case 12: {nombreMes= "Diciembre";break;}
}
return nombreMes;
}
//Cant día
public int cantDia()
{
int cantDias=0;
if ((nombreMes()== "Enero")||(nombreMes()=="Marzo")||(nombreMes()=="Mayo")||((nombreMes()=="Julio")||(nombreMes()=="Agosto")||((nombreMes()=="Octubre")||((nombreMes()=="Diciembre")))))
{
cantDias=31;
}
else if(((nombreMes()=="Abril")||((nombreMes()=="Junio")||((nombreMes()=="Septiembre")||(nombreMes()=="Noviembre")))))
{
cantDias=30;
}
else if ((nombreMes()=="Febrero"))
{
if((this.año%4==0)&&(this.año%100!=0)||(this.año%400==0))
cantDias=29;
else
cantDias=28;
}
return cantDias;
}
//Numero de columna para la matriz
public int columnaMatriz()
{
int numColum=0;
{
if(mes==1)
numColum=this.dia-1;
if (mes==2)
numColum=this.dia+31-1;
if(mes==3)
numColum=this.dia+59-1;
if(mes==4)
numColum=this.dia+90-1;
if(mes==5)
numColum=this.dia+120-1;
if(mes==6)
numColum=this.dia+151-1;
if(mes==7)
numColum=this.dia+181-1;
if(mes==8)
numColum=this.dia+212-1;
if(mes==9)
numColum=this.dia+243-1;
if(mes==10)
numColum=this.dia+273-1;
if(mes==11)
numColum=this.dia+304-1;
if(mes==12)
numColum=this.dia+334-1;
}
return numColum;
}
//Constructor
public Fecha(int dia, int mes, String nombreMes, int año)
{
this.dia = dia;
this.mes = mes;
this.nombreMes = nombreMes;
this.año = año;
}
}
------------------------------------------------------------------
package agenda;
public class Actividad
{
private Fecha diaAct;
private Fecha mesAct;
private Hora horaIni,horaFin;
private String tipo,estado,descripcion;
//Getters
public Fecha getDiaAct() {
return diaAct;
}
public Hora getHoraIni() {
return horaIni;
}
public Hora getHoraFin() {
return horaFin;
}
public String getTipo() {
return tipo;
}
public Fecha getMesAct() {
return mesAct;
}
public String getEstado() {
return estado;
}
public String getDescripcion() {
return descripcion;
}
public Actividad(Fecha diaAct,Fecha mesAct, Hora horaIni, Hora horaFin, String tipo,
String estado, String descripcion)
{
this.diaAct = diaAct;
this.mesAct=mesAct;
this.horaIni = horaIni;
this.horaFin = horaFin;
this.tipo = tipo;
this.estado = estado;
this.descripcion = descripcion;
}
}
-----------------------------------------------------
package agenda;
public class Agenda
{
private int año;
private Actividad matriz[][];
public int getAño()
{
return año;
}
//constructor
public Agenda(int año)
{
this.año= año;
matriz=new Actividad [12][365];
for(int i=0;i<this.matriz.length;i++)
for(int j=0;j<this.matriz[i].length;i++)
this.matriz[i][j]=null;
}
public boolean agregaAct(Actividad act)
{
this.matriz[horaIni][dia]= act;
}
}
-----------------------------------(Nose como hacer para agregar una actividad a la agenda....me tira siempre error)
----------------------------------
package agenda;
import java.util.*;
public class PruebaAgenda
{
public static void main(String[] args)
{
Scanner in= new Scanner (System.in);
in.useDelimiter(System.getProperty("line.separator"));
Hora horaIni,horaFin;
Fecha dia,mes,año;
String tipo,estado,descripcion;
Agenda age2009;
System.out.println("Año: ");
año=in.nextInt();
age2009= new Agenda(año);
System.out.println("Ingrese mes de actividad: ");
mes=in.nextInt();
System.out.println("Ingrese dia de la actividad");
dia=in.nextInt();
System.out.println("Hora de inicio: ");
horaIni=in.nextInt();
System.out.println("Hora final: ");
horaFin=in.nextInt();
System.out.println("Tipo");
tipo=in.next();
System.out.println("Estado:");
estado=in.next();
System.out.println("Desc");
descripcion=in.next();
if(age2009.agregaAct(dia, mes, horaIni, horaFin, tipo, estado, descripcion))
System.out.println("Se agregó la actrividad a la agenda");
}
}
----------------------------------------Y esto último está lleno de errores, porque se viene "arrastrando" desde la Clase AGENDA.
Por favor...si alguien se puede tomar el tiempo de corregirmelo....
y decirme en dónde me estoy equivocando,o si me puede aportar algo, se lo agradecería mucho...
MUCHAS GRACIAS!! ^^
Cecilia
Valora esta pregunta
0