Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Desafío: construyendo una nueva aplicación POO

//MAIN elimine partes de codigo por limitedecaracteres

public class Principal { public static void main(String[] args) { Librero librero1 = new Librero(); Librero librero2 = new Librero(); Librero librero3 = new Librero();

    Libro libro1 = new Libro();
    Libro libro2 = new Libro();
    Libro libro3 = new Libro();
    Libro libro4 = new Libro();
    Edicion edicion1 = new Edicion();
    Edicion edicion2 = new Edicion();
    Edicion edicion3 = new Edicion();
    Edicion edicion4 = new Edicion();
    edicion1.setNumEdicion(1);
    edicion1.setAnoPublicacion(2020);
    edicion1.setEditorial("Lagrande");
    edicion1.setIdioma("Ingles");
    edicion2.setNumEdicion(2);
    edicion2.setAnoPublicacion(2022);
    edicion2.setEditorial("Lagrande version 2");
    edicion4.setNumEdicion(4);
    edicion4.setAnoPublicacion(2025);
    edicion4.setEditorial("MOS");
    edicion4.setIdioma("Ingles y Español");
    /LIBROS
    libro1.setEdicion(edicion1);
    libro1.setAutor("Juan Sancho");
    libro1.setGenero("Accion");
    libro1.setNumCopias(6);
    libro1.setTitulo("Juancho y la casa negra");
    libro1.setEdicion(edicion1);

    libro4.setEdicion(edicion1);
    libro4.setAutor("Sofia Linda");
    libro4.setGenero("Amor");
    libro4.setNumCopias(20);
    libro4.setTitulo("Cuando te conoci");
    libro3.setEdicion(edicion3);

    libro5.setEdicion(edicion1);
    libro5.setAutor("Martina Gonzales");
    libro5.setGenero("Accion");
    libro5.setNumCopias(15);
    libro5.setTitulo("La nueva Revolucion");
    libro5.setEdicion(edicion2)
    librero1.setCategoriaLibrero("Accion");
    librero1.agregarLibro(libro1);
    librero1.agregarLibro(libro2);
    librero1.agregarLibro(libro5);

    librero2.setCategoriaLibrero("Amor");
    librero2.agregarLibro(libro4);

    librero3.setCategoriaLibrero("Aventura");
    librero3.agregarLibro(libro3);

    librero1.mostrarLibros();
    librero1.buscarLibro("La Nueva revolucion");
    librero2.buscarLibro("cuando te conoci");

    libro4.mostrarLibro();

    edicion3.mostrarInfoEdicion();
}

} //Clases public class Libro implements Ilibro { private String titulo, autor, genero; private int numCopias; private Edicion edicion;

@Override
public void mostrarLibro() {
    System.out.println("Mostrando informacion del libro");
    System.out.println("Título: " + titulo +
            "\nAutor: " + autor +
            "\nGénero: " + genero +
            "\nCopias: " + numCopias +
            "\nEdición: " + edicion + "\n");
}

@Override
public String toString() {
    return "Título: " + titulo +
            "\nAutor: " + autor +
            "\nGénero: " + genero +
            "\nCopias: " + numCopias +
            "\nEdición: " + edicion + "\n";
}

}

public class Librero implements ILibrero { private String categoriaLibrero; private List listaLibros;

public Librero() {
    this.listaLibros = new ArrayList<>();
}

@Override
public void mostrarLibros() {
    for(int i=0; i<listaLibros.size(); i++){
        System.out.println("Categotoria: " + categoriaLibrero +
                "\nLibro " + listaLibros.get(i));
    }
}

@Override
public void buscarLibro(String libro) {
    boolean bandera = false;
    System.out.println("Buscando el libro....");
    for(int i=0; i<listaLibros.size(); i++){
        if(listaLibros.get(i).getTitulo().equalsIgnoreCase(libro)){
            System.out.println("Categotoria: " + categoriaLibrero +
                    "\nLibro " + listaLibros.get(i));
            bandera = true;
        }
    }
    if(bandera == false){
        System.out.println("Libro no encontrado");
    }else{
        bandera = false;
    }
}

}

public class Edicion implements Iedicion { private int numEdicion, anoPublicacion; private String idioma, editorial;

@Override
public void mostrarInfoEdicion() {
    System.out.println("Mostrando informacion de la edicion del libro");
    System.out.println("Edicion: " + numEdicion +
                "\nAño de publicacion: " + anoPublicacion +
                "\nIdioma: " + idioma +
                "\neditorial: " + editorial);
}

-- @Override public String toString() { return "Edicion{" + "numEdicion=" + numEdicion + ", anoPublicacion=" + anoPublicacion + ", idioma='" + idioma + ''' + ", editorial='" + editorial + ''' + '}'; } }

2 respuestas

Hola Jorge, espero que estés bien

Parece que estás trabajando en un proyecto interesante de programación orientada a objetos. He notado algunos detalles en tu código que podrían necesitar ajustes para que funcione correctamente.

  1. Errores de declaración y métodos faltantes: Asegúrate de que todas las clases y métodos necesarios estén correctamente declarados. Por ejemplo, en tu código, parece que hay un error tipográfico o falta la declaración de libro5, ya que no está definido antes de ser utilizado.

  2. Métodos set y get: Asegúrate de que las clases Libro, Librero y Edicion tengan los métodos set y get necesarios para todos los atributos que estás intentando modificar o acceder. Por ejemplo, getTitulo() en la clase Libro debe estar definido.

  3. Errores de compilación: Revisa los errores de compilación, como la falta de punto y coma al final de libro5.setEdicion(edicion2). Este tipo de errores pueden causar problemas al intentar compilar el código.

  4. Implementación de interfaces: Asegúrate de que las interfaces Ilibro, ILibrero e Iedicion estén correctamente definidas y que las clases las implementen adecuadamente.

  5. Uso de ArrayList: No olvides importar java.util.ArrayList y java.util.List en la clase Librero para poder utilizar listas.

Revisa estos puntos y verifica si hay otros errores similares en tu código. Espero que estas sugerencias te sean útiles.

¡Espero haber ayudado y buenos estudios!

Que tal Brenda!

Comprendo tus observaciones, algunas de ellas como el metodo set y get o algunas declaraciones las borre para poderlo publicar ya que me limito a 5000 caracteres y mi codigo consta de aproximadamente 70000 caracteres

fuera de ello valoro mucho tus observaciones y trabajare en corregirlas

Que tengas muy buen dia!

Saludos!