Revista

8 respostas
R

olá pessoal.

sou iniciante no java e estou com um problema, estou tentando fazer um exercício pra faculdade que não estou conseguindo implantar um método que calcula o total de autores dos artigos de uma revista, sei que deve ser muito fácil, mas meus colegas e eu não estamos conseguindo.

desde já agradeço.

8 Respostas

javaflex

Posta o que tentou fazer e explique a dúvida de forma mais específica.

R

tenho 4 classes:

Revista


  • nome: String
  • mes: String
  • editor: String

  • totalAutores(): int
  • totalPaginas(): int
  • toString(): String
  • mostraArtigosOrdenados(): void

Artigo


  • codigo: int
  • resumo: String
  • nroPaginas: int

  • Artigo()
  • toString(): String

Autor


  • nome: String
  • email: String
  • instituicao: String

  • Autor(nome: String, email: String, instituicao: String)
  • toString(): String

PalavrasChave


  • nome: String

  • PalavrasChave(nome: String)
  • toString(): String

1.Programe completamente todas estas classes, com os métodos get, set e construtores.
2.Em outra classe Principal, criar a revista ?ccp5oSem? (um objeto da classe Revista) e ler os dados da mesma.
3.Na classe Revista, calcule o total de autores, total de páginas e mostre o nome dos artigos ordenados.

eu entro dom determinado número de autores, e determinado número de artigos pra um autor, tenho que calcular o total de páginas de todos os artigos de todos os autores e o total de autores dos artigos dessa revista.

carlinbh

Você quer que alguém faça todo o exercício e te entregue pronto?
Você tem que pelo menos tentar fazer, depois ai sim quando estiver com dúvida em certa parte do código mostre onde está o erro que qualquer um vai te ajudar com prazer.

javaflex

Você não conseguiu tentar para que apresente a dúvida? Você tem conhecimento de modelagem e programação orientada a objetos? Se não dá uma estudada Isso vai te ajudar:

http://terramel.org/java-segunda-aula-orientacao-a-objetos
http://terramel.org/java-terceira-aula-revisao-e-metodos
http://terramel.org/java-quarta-aula-heranca
http://terramel.org/java-quinta-aula-encapsulamento-e-metodos-set-e-get

Ou apostila da Calelum:

No mais https://www.google.com.br/search?hl=pt-BR&as_q=orientacao+a+objetos+java

R

abaixo o que já fiz…


public class Revista {

private String nome, mes, editor;

Artigo artigo;
public void setNome(String nome){this.nome = nome;}
public String getNome(){return nome;}

public void setMes(String mes){this.mes = mes;}
public String getMes(){return mes;}

public void setEditor(String editor){this.editor = editor;}
public String getEditor(){return editor;}

public Revista(String nome, String mes, String editor){
	super();
	this.nome = nome;
	this.mes = mes;
	this.editor = editor;
}

public void totalAutores(){
	
}

public String toString(){
	return "Nome: " + nome + "\nMes: " + mes + "\nEditor:" + editor + "\n" + artigo.toString();
}

}


public class Artigo {

private int codigo, nroPaginas;

private String resumo;

Revista revista;
public void setCodigo(int codigo){this.codigo = codigo;}
public int getCodigo(){return codigo;}

public void setNroPaginas(int nroPaginas){this.nroPaginas = nroPaginas;}
public int getNroPaginas(){return nroPaginas;}

public void setResumo(String resumo){this.resumo = resumo;}
public String getResumo(){return resumo;}

public Artigo(int codigo, String resumo, int nroPaginas){
	super();
	this.codigo = codigo;
	this.resumo = resumo;
	this.nroPaginas = nroPaginas;
}

@Override
public String toString() {
	return "Código=" + codigo + "\nNúmero de Paginas=" + nroPaginas + "\nResumo=" + resumo + "\nRevista=" + revista;
}

}


public class Autor {

private String nome;

private String email;

private String instituicao;

public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getInstituicao() {

return instituicao;

}

public void setInstituicao(String instituicao) {

this.instituicao = instituicao;

}

public Autor(String nome, String email, String instituicao) {

super();

this.nome = nome;

this.email = email;

this.instituicao = instituicao;

}

<a class="mention" href="/u/override">@Override</a>

public String toString() {

return "Autor [nome= " + nome + ", email= " + email + ", instituicao= " + instituicao + “]”;

}

}

public class PalavrasChave {
private String nome;

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public PalavrasChave(String nome) {
	super();
	this.nome = nome;
}

@Override
public String toString() {
	return "PalavrasChave [nome=" + nome + "]";
}

}


import javax.swing.JOptionPane;

public class Principal {

public static void main(String [] args){

String editor = “”;

String mes = “”;

String nome = “”;
//criação do objeto ccp5oSem
	Revista ccp5oSem = new Revista(nome, mes, editor);

	ccp5oSem.setNome(JOptionPane.showInputDialog("Nome da Revista"));
	ccp5oSem.setMes(JOptionPane.showInputDialog("Mês"));
	ccp5oSem.setEditor(JOptionPane.showInputDialog("Editor"));

	int codigo = 0, nroPaginas = 0;
	String resumo = "";
	Artigo artigo = new Artigo(codigo, resumo, nroPaginas);
	
	int nArtigos = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de Artigos"));
	for(int i = 0; i < nArtigos;i++){
		artigo.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Código do Artigo")));
		artigo.setResumo(JOptionPane.showInputDialog("Resumo do Artigo"));
		artigo.setNroPaginas(Integer.parseInt(JOptionPane.showInputDialog("Número de Páginas")));
	}
	
	JOptionPane.showMessageDialog(null, ccp5oSem.toString());
}

}


tá faltando alguns detalhes, mas o meu problema que estou tendo é como vou calcular o total de autores e o total de páginas criando o método na classe Revista?

R

Obrigado pelos links…vou dar uma olhada.

javaflex
Beleza, na sua classe Revista para o total de autores por exemplo:
//terá que ter uma lista de autores
private List<Autor> autores;

//construtor instanciando a lista de autores
public Revista() {
  List<Autor> autores = new ArrayList<Autor>();
}

//adiciona autor
public adicionaAutor(Autor autor) {
  autores.add(autor);
}

//retorna o total de autores na lista
public int totalAutores() {
  return autores.size();
}
Exemplo básico meramente ilustrativo, sem considerar padrões como inversão de controle, etc.

Obs: Quando for postar código use o botão code do editor de texto daqui para delimitar a área de código e aparecer formatado, senão o código fica ilegível para quem tenta ajudar.

ViniGodoy

Se ainda tiver dúvida sobre como fazer isso, leia:

Criado 24 de março de 2013
Ultima resposta 25 de mar. de 2013
Respostas 8
Participantes 4