Programa Gerenciamento de Biblioteca - Problemas com Métodos de Outras Classes

0 respostas
kxmm

O programa foi dividido em dois exercícios, a parte 1 já me ajudara um pouco aqui no fórum, mas agora tem uma segunda parte.
Seguem os detalhes:

Implemente em Java um sistema para controle de sua biblioteca pessoal. O
sistema é formado pelas classes ?Livro? e ?Biblioteca? com as características
descritas abaixo:
Classe: Livro
# Atributos: titulo (título do livro, tipo String), autores (autores do livro, tipo
String) e editora (editora que publicou o livro, tipo String). Todos atributos
privados;
# Método construtor para inicializar os atributos;
# Métodos get para obter cada um dos atributos;
# Métodos set para alterar cada um dos atributos.
Classe: Biblioteca
# Atributos: livros (lista de livros da biblioteca, tipo arrayList), numLivros
(número de livros inseridos na lista, tipo int) e MAXLIV (número máximo de
livros na lista, constante do tipo int com valor 50);
# Método para adicionar um livro na lista. Parâmetros: titulo, autores e editora;
# Método para adicionar um livro na lista. Parâmetro: objeto do tipo Livro;
# Método para excluir um livro da lista. Parâmetro: título do livro;
# Método para excluir um livro da lista. Parâmetro: objeto do tipo Livro;
# Método para retornar o livro cujo título é recebido como parâmetro. Retorna
nulo se o livro não existir. Parâmetro: título do livro;
# Método para retornar a lista de livros.
# Método para retornar o número de livros da biblioteca.
# Método main para executar as seguintes ações, usando todos os métodos
definidos nas classes:
# Criar um objeto do tipo Biblioteca;
# Adicionar quatro livros à biblioteca;
# Imprimir os dados de um livro da biblioteca dado seu título, ou uma
mensagem de erro se o livro não existir;
# Imprimir a relação de todos os livros da biblioteca;
# Excluir dois livros da biblioteca.

10. Idem ao exercício anterior, com as seguintes modificações:
# Na classe Livro, crie uma lista de autores ao invés de armazenar todos os
autores em uma única string. Também modifique a informação sobre a editora
que publicou o livro, passando agora a ter os seguintes dados sobre cada
editora: CNPJ, nome, endereço e telefone;

# Crie uma classe de interface com o usuário com opções para cadastrar e
excluir livros (e editoras) de uma biblioteca, pesquisar por um livro imprimindo
seus dados e imprimir a relação de todos os livros.

As partes em negrito são as coisas que ainda não consegui fazer e preciso da ajuda de vocês.

Segue agora o código:

package bibliotecapessoal;
import java.util.ArrayList;
        
public class Biblioteca {
    
    int numLivros;
    public final int MAXLIV = 50;
    ArrayList<Livro> livros;

    public Biblioteca (){
       numLivros = 0;
       livros = new ArrayList<Livro>(MAXLIV); }
    
    
    public void addLivro(String titulo, String autores, String editora){
        Livro livro = new Livro(titulo,autores,editora);
        livros.add(livro); }
    
    public void addLivro(Livro livro){
       livros.add(livro); }   
    
    public void remover(String titulo){
        for (int i = 0; i < livros.size(); i++) {  
          if (livros.get(i).getTitulo().equals(titulo))   
            livros.remove(i); 
          else System.out.println("Livro não encontrado");
        } 
    }

    public void remover(Livro livro){
        livros.remove(livro); }
        
     public Livro retornaLivro(String titulo){  
        for (int i = 0; i < livros.size(); i++) {    
          if (livros.get(i).getTitulo().equals(titulo))     
            return livros.get(i);}    
            return null;}   
            
             
    public void retornaLista (){
        for (int i=0; i < livros.size();i++){
          System.out.println(livros.get(i).getTitulo());  
        }
    }
    
    public int retornaNumLivros(){
        numLivros=livros.size();
        return numLivros; }
   
}





package bibliotecapessoal;
import java.util.ArrayList;

public class Livro {
  private String titulo, editora; 
  ArrayList<String> autores;
  
    public Livro(String titulo, String autores, String editora) {
        this.titulo = titulo;
        this.autores = new ArrayList<String>();
        this.autores.add(autores);
        this.editora = editora; }
   
    public String getTitulo(){
        return titulo; }
 
    public ArrayList getAutores(){
        return autores; }
   
    public String getEditora(){
        return editora; }
   
    public void setTitulo(String titulo){
        this.titulo=titulo; }
   
    public void setAutores(int ind,String autores){ 
        this.autores.set(ind,autores);} 
   
    public void setEditora(String editora){
        this.editora=editora; }
    }





package bibliotecapessoal;
import java.util.*;
public class Usuario {
   
    public static void main(String[] args) {
        
        System.out.println("O que deseja fazer?");
        System.out.println("");
        System.out.println("1- Adicionar Livro");
        System.out.println("2- Excluir Livro");
        System.out.println("3- Adicionar Editora");
        System.out.println("4- Excluir Editora");
        System.out.println("5- Pesquisar Livro (por título)");
        System.out.println("6- Listar Livros Cadastrados");
        System.out.println("0- Sair");
        System.out.println("");
        System.out.print("Digite sua opção: ");
        
        Scanner entrada  = new Scanner(System.in);
        Biblioteca b1 = new Biblioteca();
        String s1,s2,s3;
        boolean continuar=true;
        
            do {    
              switch (entrada.nextInt()) {
                case 1: //===================================================
                        System.out.print("Digite o nome do Livro: ");
                        s1=entrada.nextLine();
                        System.out.print("Digite o autor: ");
                        s2=entrada.nextLine();
                        System.out.print("Digite a editora: ");
                        s3=entrada.nextLine();
                        b1.addLivro(s1, s2, s3);break;
                case 2: //====================================================
                        System.out.print("Digite o titulo do livro que deseja remover: ");
                        s1=entrada.nextLine();
                        b1.remover(s1);break;                
                case 3: //====================================================
                        System.out.print("Digite o nome da Editora que deseja adicionar: ");
                        s1=entrada.nextLine();
                case 4: //====================================================
                        System.out.print("Digite o nome da Editora que deseja remover: ");
                        s1=entrada.nextLine();
                case 5: //====================================================
                        System.out.print("Digite o nome do livro que deseja buscar: ");
                        s1=entrada.nextLine();
                        b1.retornaLivro(s1);break;
                case 6: //====================================================
                        b1.retornaLista();break;
                case 0: //====================================================
                        continuar=false; break;   
              default: //====================================================
                       System.out.println("Opção inválida.");break; }
            }while(continuar=true); 

      }
}
Criado 20 de abril de 2012
Respostas 0
Participantes 1