Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Air-Gear

Dúvidas em associar Classes

Recommended Posts

O exercício pede o seguinte:

20. 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.

Faça também um diagrama UML do sistema.

Então fiz esses programas:

public class Editora {

private String razaoSocial;

private String cnpj;

private String endereco;

public Editora (String razao, String cnpj, String endereco){

this.razaoSocial = razao;

this.cnpj = cnpj;

this.endereco = endereco;

}

public String getRazao(){

return razaoSocial;

}

public String getCnpj(){

return cnpj;

}

public String getEndereco(){

return endereco;

}

}

public class Autor {

private String nome;

private String cpf;

public Autor (String nome, String cpf){

this.nome = nome;

this.cpf = cpf;

}

public String getNome(){

return nome;

}

public String getCpf(){

return cpf;

}

}

import java.util.*;

public class Livro {

private String titulo;

private ArrayList autores;

private Editora editora;

public Livro (String titulo, Editora editora){

this.titulo = titulo;

this.editora = editora;

this.autores = autores;

}

public void adicionaAutor (Autor autor){

autores.add(autor);

}

public void adicionaAutor (String nome, String cpf){

adicionaAutor (new Autor (nome,cpf));

}

public String getTitulo (){

return titulo;

}

public ArrayList getAutores (){

return autores;

}

public Editora getEditora (){

return editora;

}

}

import java.util.*;

public class Biblioteca {

private ArrayList livros = new ArrayList();

public void adicionaLivro (Livro liv){

livros.add(liv);

}

public void adicionaLivro (String titulo, ArrayList autores, Editora editora){

livros.add(new Livro (titulo,autores,editora));

}

public boolean excluiLivro (String titulo){

Iterator i = livros.iterator();

while (i.hasNext()){

Livro liv = (Livro) i.next();

if (liv.getTitulo().equals(titulo)){

i.remove();

return true;

}

}

return false;

}

public Livro getLivro (String titulo){

Iterator i = livros.iterator();

while (i.hasNext()){

Livro liv = (Livro)i.next();

if (liv.getTitulo().equals(titulo))

return liv;

}

return null;

}

public ArrayList getListaLivros (){

return livros;

}

public static void main (String[]args){

Biblioteca bib = new Biblioteca();

Editora edit = new Editora ("Campus","111","R.ABC");

Autor aut1 = new Autor ("Anderson","222");

Autor aut2 = new Autor ("Alexandre","333");

Livro liv = new Livro ("POO",edit);

liv.adicionaAutor(aut1);

liv.adicionaAutor(aut2);

bib.adicionaLivro(liv);

}

}

Eu fiz o seguinte, cada classe eu fiz em um programa separado, a classe biblioteca é há que possui "public static void main(){" e há um erro que não consigo entender que é este aqui:

public void adicionaLivro (String titulo, ArrayList autores, Editora editora){

livros.add(new Livro (titulo,autores,editora)); //o erro está aqui!

}

Alguem pode explicar o que eu fiz de errado, por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua classe livro tem o seguinte construtor


public Livro (String titulo, Editora editora){
this.titulo = titulo;
this.editora = editora;
this.autores = autores;
}

Ou seja, tem 2 argumentos: String e Editora.

Na linha onde há erro:


livros.add(new Livro (titulo,autores,editora));

...você tenta criar um objeto Livro com 3 argumentos. Isso que está errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×