.
Cóloca el código con las etiquetas de código, para algo están, es muy tedioso leer código sin las etiquetas.
Si anda porfa enrrollate porque asi como los has puesto se lee muy mal!! :P
Es muy molesto leer codigo asi y ademas si no lo pones te garantizo que nadie va ha ayudarte porque nadie lo va a leer
public void anadirNota(Nota NuevaNota){
boolean isRepeated = false;
for (int i = 0; i<Notas.size; i++){
if (Notas.get(i).getTitulo().equals(NuevaNota.getTitulo()){
isRepeated = true;
}
}
if (isRepeated == false){
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
}else{
System.out.println("Ya existe una Nota con este nombre");
}
}
averrr.. el segundo
public void eliminarNotaPorNumero(int numeroDeNOTA) {
maximoNumeroNota = Notas.size();
if ((numeroDeNOTA < 0) || (numeroDeNOTA > maximoNumeroNota))
{
// No es un numero valido y no se introduce.
System.out.println(" Numero de nota no exixte, por favor introduzca ");
System.out.println(" un rango entre 0 y " + maximoNumeroNota);
}
}
toy cansado, pero voy a hacer un esfuerzo y t paso el 3ro ;) dame 5 min
el 3er error igual q añadirNota nada mas q en ves d hacer add(), hace un remove()...
Si tenes alguna duda dl codigo o no funca avisame nomas.. m fijo d nuevo che.. trata d postear el codigo c las etiqetas...
aguanta y esta noche lo veo bien lo compilo y t lo paso
Hola buenas noches, me puedes echar un cable ChavalChavito ??
ChavalChavito puedes ayudarme o no puedes ayudarme?? dime si o no, pero porfavor no me tengas esperando porque me corre mucha prisa, gracias, saludos.
Cita de: el_otro_yo en 2 Agosto 2012, 02:06 AM
Hola, buenas noches, tengo un error con el metodo de añadir Notas comprobando el Titulo, me da error en .size
es el siguiente en negrita, no se como hacer para que compile bien.
/**
* Introducción de Notas en la Libreta por su TiTulo.
*/
public void anadirNota(Nota NuevaNota){
boolean isRepeated = false;
for (int i = 0; i<Notas.size; i++)
{
if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
}
else
{
System.out.println("Ya existe una Nota con este nombre");
}
}
muchas gracias, saludos.
/**
* Introducción de Notas en la Libreta por su TiTulo.
*/
public void anadirNota(Nota NuevaNota){
int largoArreglo=0;
if(Notas!=null){
int largoArreglo = Notas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
}
else
{
System.out.println("Ya existe una Nota con este nombre");
}
}
Prueba con el cambio que te acabo de hacer xD
PD: El codigo se puede perfeccionar, debes validar todo, pero si es solo un ejercicio y no te quieres dar la molestia, entonces solo hazle el cambio que te acabo de hacer.
No has ni puesto el código con las etiquetas GeShi ¿cómo esperas que se te ayude?
Primero dime como se pone el codigo con las etiquetas GeShi, porque no tengo ni idea de lo que me dices, soy novato, lo siento.
Porfavor hay alguien en este forooooo????? que quiera ayudarme???? por favor???
Si no te tomas la molestia de colocar el código(GeShi, ahí donde escribes los mensajes, selecciona el código y luego selecciona el lenguaje ) de manera correcta nadie te va a ayudar.
Si pones el codigo entre sus etiquetas, con gusto te ayudamos
[code=java] *CODIGO AQUI* [/code ]
[/code]
Ahora si, me equivoque un detalle la declaracion de la variable estaba dos veces :xD
/**
* Introducción de Notas en la Libreta por su TiTulo.
*/
public void anadirNota(Nota NuevaNota){
int largoArreglo=0;
if(Notas!=null){
largoArreglo = Notas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
}
else
{
System.out.println("Ya existe una Nota con este nombre");
}
}
Muchas gracias compañero
Podrías arreglar el codigo geshi xD
lo arreglo yo para mejor lectura de los demas
PD: Cuando tenga tiempo lo veo. Saludos.
import java.util.ArrayList;
public class GestorLibretas
{
//declaracion de atributos.
private ArrayList<Libreta> Libretas;
private ArrayList<Nota> Notas;
int i=0;
public GestorLibretas()
{
Libretas= new ArrayList <Libreta>();
Notas= new ArrayList <Nota>();
}
public ArrayList<Libreta> getLibretas()
{
return Libretas;
}
public ArrayList<Nota> getNotas()
{
return Notas;
}
/**
* Inicializacion de GestorLibretas.
*/
public void setLibreta (ArrayList<Libreta> Libretas)
{
this.Libretas = Libretas;
this.Notas = Notas;
}
/**
* @return El numero de Libretas que tiene actualmente el Gestor.
*/
public int numeroDeLibretas()
{
return Libretas.size();
}
/**
* @return El numero de Notas que tiene actualmente el Gestor.
*/
public int numeroDeNotas()
{
return Notas.size();
}
/**
* Introducción de Libretas en el Gestor por su TiTulo.
*/
public void anadirLibreta(Libreta NuevaLibreta){
int largoArreglo=0;
if(Libretas!=null){
largoArreglo = Libretas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Libretas.get(i).getTituloLibreta().equals(NuevaLibreta.getTituloLibreta()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Libretas.add(NuevaLibreta);
System.out.println("Se ha introducido la Libreta de Titulo: " +NuevaLibreta.getTituloLibreta());
}
else
{
System.out.println("Ya existe una Libreta con ese TiTulo: " +NuevaLibreta.getTituloLibreta());
}
}
/** Añade Notas a ArrayList "Notas", mediante la introduccion del TiTulo de la Nota y el Titulo de Libreta.
* Comprueba que no existe una Nota de igual nombre.
* Si no existe ese nombre devuelve "True", en caso de que ya existiera devuelve "False" y
* un mensaje de error.
*/
public void anadirNota(Nota TiTulo,Libreta TituloLibreta)
{
if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
{
System.out.println("Este titulo de libreta y/o de Nota no existe");
}
else
{
System.out.println("Se ha añadido la Nota");
Notas.add(TiTulo);
}
}
/**
* Elimina Notas por su TiTulo y por el Titulo de Libreta.
*/
public void eliminarNota(Nota TiTulo,Libreta TituloLibreta)
{
if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
{
System.out.println("El Titulo de libreta y/o de Nota no existe");
}
else
{
System.out.println("Se ha borrado la Nota");
Notas.remove(TiTulo);
}
}
/** Este metodo elimina una Libreta por su Titulo.
*
*/
public void eliminarLibreta(Libreta EliminaLibreta){
int largoArreglo=0;
if(Libretas!=null){
largoArreglo = Libretas.size();
}
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Libretas.get(i).getTituloLibreta().equals(EliminaLibreta.getTituloLibreta()))
{
isRepeated = true;
Libretas.remove(EliminaLibreta);
System.out.println("Se ha borrado la Libreta de Titulo: " +EliminaLibreta.getTituloLibreta());
}
else
{
System.out.println("La Libreta no existe");
}
}
}
/**
* Muestra un listado de las Libretas del GestorLibretas y su Titulo de libreta.
*/
public void verListaLibretasPorTitulo()
{
for (int i = 0; i<Libretas.size(); i++)
{
Libreta unaLibreta = Libretas.get(i);
System.out.println("Libreta nº:" +i );
System.out.println("Titulo:"+unaLibreta.getTituloLibreta());
}
System.out.println("--------------------------");
}
/**Muestra una libreta por Titulo.
*/
public ArrayList<Libreta> getLibretaPorTitulo(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta Lib1 = Libretas.get(i);
//Compara el nombre buscado con los nombres de las libretas existentes.
if (Lib1.getTituloLibreta().equals(TituloLibreta))
{
resultado.add(Lib1);
}
}
//devuelve la lista de coincidencias.
return resultado;
}
/**Busca el contenido de una Libreta por su Titulo de libreta.
* Introduzca el Titulo de Libreta.
*/
public void getContenido(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
//compara el titulo buscado con los titulos existentes.
if (lib1.getTituloLibreta().equals(TituloLibreta))
{
resultado.add(lib1);
}
lib1.imprimirContenidoLibreta();
}
}
/**Busca una Titulo de una Nota por un Titulo de Libreta.
* Introduzca el Titulo de Libreta.
*/
public void getTiTuloNota(Libreta TituloLibreta)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
Nota unaNota = Notas.get(i);
//compara el titulo buscado con los titulos existentes.
if(Libretas.contains(TituloLibreta) == false)
{
System.out.println("Esta Libreta no existe");
}
else
{
System.out.println("Titulo de Notas:"+unaNota.getTiTulo());
}
}
}
/**Busca una Titulo de una Libreta por un Titulo de Nota.
* Introduzca el Titulo de Nota.
*/
public void getTituloLibreta(Nota TiTuloNota)
{
//Se crea una lista vacía
ArrayList<Libreta> resultado = new ArrayList<Libreta>();
for (int i=0; i<Libretas.size(); i++)
{
Libreta lib1 = Libretas.get(i);
Nota unaNota = Notas.get(i);
//compara el titulo buscado con los titulos existentes.
if(Notas.contains(TiTuloNota) == false)
{
System.out.println("Esta Nota no existe");
}
else
{
System.out.println("Titulo de Libreta:"+lib1.getTituloLibreta());
}
}
}
/**
* Imprimir por pantalla el contenido del GestorLibretas.
*/
public void imprimirContenidoGestorLibretas()
{
System.out.println("##########################################");
System.out.println("# Libreta/s:" +Libretas);
System.out.println("# Nota/s:" +Notas);
System.out.println("##########################################");
}
/**
* Imprimir por pantalla las estadisticas del Gestor.
*/
public void EstadisticasGestor()
{
int indice=Libretas.size();
{
System.out.println("El Gestor contiene " + indice + " Libretas");
}
}
}
DonVidela tengo estos errores en la clase GestorLibretas si puedes ayudarme te lo agradezco de verdad.
GestorLibretas: El gestor de libretas tiene ArrayList tanto de Libretas como de Notas
A dicha lista de Notas solo se le añaden notas en anadirNota(), pero dicho método solo añade notas si ya estan en la lista.
anadirLibreta() compara objetos, no títulos.
anadirNota() nunca funcionará, como se ha explicado antes.
"Elimina Notas por su TiTulo y por el Titulo de Libreta" realmente elimina por objeto.
Lo mismo en el metodo de "Elimina una Libreta por su Titulo"
En getContenido(Libreta TituloLibreta) se imprime todo, no solo cuando coincide el título. Aparte se define un ArrayList "resultado" que no se usa para nada (esto último pasa en muchos otros métodos).
La busqueda de libretas que contengan una nota dada no devuelve nada (está definida como void)
Falta un metodo que imprima las estadísticas pedidas. El método que da el total de notas no funciona, ya que simplemente lista las notas del atributo "Notas", no la suma de notas de todas las libretas.
Faltan los métodos que lista todos los libros/discos/etc de una libreta del gestor.
Perdon pero me equivoque con el color rojo al final,¿¿¿ se entiende chicos???
/** Este metodo devuelve una Libreta por su Titulo.
*
*/
public Libreta devolverLibreta(String TituloLibreta)
{
Libreta nuevaLibreta = null;
for (int i = 0; i<Libretas.size(); i++){
if (Libretas.get(i).getTituloLibreta().equals(TituloLibreta))
{
nuevaLibreta= Libretas.get(i);
}
}
if(nuevaLibreta==null){
System.out.println("La Libreta no existe");
}
return nuevaLibreta;
Prueba con eso.
El error es que el return lo tienes dentro de un if, lo debes colocar siempre al final de la sentencia ya que debe devolver algo si o si.
Igual es valido, saludos.
Para lo ultimo que mencionas ocupas agregar en la clase Libreta un metodo que te regrese las Notas de esa libreta:
public ArrayList<Nota> getNotas()
{
return Notas;
}
Luego el codigo para eso seria asi:
public Libreta devolverTituloLibreta(String TiTuloNota)
{
Libreta lib = null;
for (int i=0; i<Libretas.size(); i++)
{
for(int ii = 0; ii < Libretas.get(i).getNotas().size(); ii++)
{
if(Libretas.get(i).getNotas().get(ii).getTiTulo().equals(TiTuloNota))
{
lib = Libretas.get(i);
lib.getTituloLibreta();
}
}
if(lib == null)
System.out.println("La Nota no existe");
}
return lib;
}
Podrias publicar la clase Notas y la Clase Libretas para ver bien sus atributos y metodos?
Publica las clases que te mencione, Quiero ver los atributos de los objetos.
Ahorita esta ordenado de mas antigua a mas reciente diferente es que estes recorriendo de mas vieja a reciente si deceas recorrer de mas nueva a vieja hazlo asi
for(int i = Notas.size()-1; i >= 0; i--;)
{
system.out.println(Notas.get(i).getTitulo());
}
Puede que el codigo tenga algo mal ya que lo escribi desde el celular hehe
Cita de: DonVidela en 8 Agosto 2012, 23:34 PM
Publica las clases que te mencione, Quiero ver los atributos de los objetos.
Esas clases las encuentras en el primer tema de ahi las obtube yo en la segunda pagina lo que puso fue el GestorLibreta.
Ok gracias Soork, a ver si el compañero logra solucionar el tema con lo que le dijiste, estaremos atento a cualquier cosa.
Hola, creo que no estoy haciendo algo bien aqui..............
Muchas gracias ya lo tengo hecho!!!!!
No hagan caso al anterior metodo que envie para nada, no sirven los anteriores mensajes que os envie porque estan mal, pero ya lo consegui.
gracias a todos.
Perfecto, saludos.
un segundo.....no lo hace bien.....ahora lo que hace con ese codigo que me dijo s00rk es mostrarme las notas pero a la inversa.... pero no las ordena por antiguedad de fecha....no se que hacer...
Primero que nada deberias dejar de hacer doble-post, osea comentar dos veces seguidas con una basta hasta que alguien venga y lo lea ...
Y si lo siento, no lei bien mi codigo no hace lo que pides heheh para hacer eso ocuparas un nuevo metodo que los ordene y luego ya podras mostrarlos con el codigo que te puse, simplemente primero llama al metodo Ordenar, y luego usa el codigo que te puse hehe
Aqui te dejo el codigo Ordenar, faltara que agregues un
import java.util.Date;
private static void Ordenar()
{
ArrayList<Date> fechas = new ArrayList<Date>();
for(int i = 0; i < Notas.size(); i++)
fechas.add(new Date(Notas.get(i).getanocreacion(), Notas.get(i).getmescreacion(), Notas.get(i).getdiacreacion() ));
for(int i=0;i<fechas.size();i++)
{
for(int j=0;j<fechas.size();j++)
{
if(fechas.get(i).before(fechas.get(j)))
{
Date aux=fechas.get(i);
fechas.set(i, fechas.get(j));
fechas.set(j, aux);
Nota n = Notas.get(i);
Notas.set(i, Notas.get(j));
Notas.set(j, n);
}
}
}
}