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 [b]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. [/b]
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:
[code]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 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);
}
}[/code]