Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

walterchess

retorno de objetos

Recommended Posts

tenho três questões

 

1-Uma livraria deseja desenvolver um sistema para cadastrar todos os livros comercializados pela empresa. O sistema deve conter uma classe chamada br.livraria.Midia, utilizada para representar os livros, com as seguintes características:

 

a. Possui os atributos:

 

I. codigoString com o código da mídia;

 

II. tituloString com o título da mídia;

 

III. autores – array de String com o nome dos autores da mídia;

 

IV. estoque – inteiro com a quantidade de mídias em estoque;

 

b. O construtor da classe recebe o código da mídia, o título e o array de autores. Toda mídia é cadastrada com valor de estoque igual a zero, indicando que ainda não existe um exemplar da mídia em estoque.

 

c. Possui um método chamado toString, que retorna um String formatado com todos os atributos para, por exemplo, serem impressos na tela do terminal de vídeo. Atenção, o seu método apenas retorna o String, não deve imprimir na tela.

 

d. Possui um método chamado adicionarEstoque, que recebe um int, referente à quantidade de mídias adquiridas e soma esse valor ao valor atual do estoque.

 

e. Possui um método chamado subtrairEstoque, que recebe um int, referente à quantidade de mídias vendidas e subtrai esse valor do valor atual do estoque.

 

f. Implemente os métodos get e set apenas para o atributo codigo.

 

2- Implemente a classe br.livraria.RepositorioMidiaArray, que possui um array de

 

Midia. Esta classe devem ter os seguintes métodos:

 

inserir – recebe um objeto Midia e insere no array;

 

procurar – recebe um código e retorna o objeto Midia, caso ele esteja no array, caso contrário, retorna null;

 

remover – recebe um código e remove o objeto Midia, caso ele esteja no array, caso contrário não faz nada;

existe – recebe um código e retorna um boolean informando se o objeto Midia está (true) ou não (false) no array;

 

3) Implemente a classe br.livraria.Livraria, que possui um atributo do tipo br.livraria.RepositorioMidiaArray. Além do construtor, crie dois métodos na classe

 

Livraria: (i) o método cadastrar recebe um objeto Midia e insere no repositório se não houver uma mídia no repositório com o mesmo código; (ii) o método procurar recebe um código e procura pela mídia com o respectivo código no repositório.

 

 

 

A unica que conseguir implementar foi a primeira, a classe midia

public class Midia {
		protected String codigo;
		protected String titulo;
		protected String [] autores;
		protected int estoque;
		
		public Midia() {
	        this.codigo = codigo;
	        this.titulo = titulo;
	        this.autores = autores;
	        this.estoque = 0;
		}
		public String toString(){
			return "codigo: "+this.codigo+", titulo: "+this.titulo+", +"
					+ "autores: "+this.autores+", estoque: "+this.estoque;
		}
		public void adicionarEstoque (int qtdeMidias){
			this.estoque += qtdeMidias;
		}
		public void subtrairEstoque (int qtdeMidias){
			this.estoque -= qtdeMidias;
		}
		public String getCodigo() {
			return codigo;
		}
		public void setCodigo(String codigo) {
			this.codigo = codigo;
		}
		
	}

mas as outras não tenho nem ideia de como vou fazer, alguém poderia ao menos dar uma dica, agradeço.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixarei só o esqueleto da segunda questão. Dúvidas específicas, favor mostrar o código e as perguntas.

 

package br.livraria;
 
public class RepositorioMidiaArray {
    private ArrayList<Midia> repositorio; // Altere se não for pra usar um ArrayList
 
    public RepositorioMidiaArray() {
        this.repositorio = new ArrayList<Media>();
    }
 
    public int insere(Midia object) { // Implemente }
 
    public Midia procurar(String codigo) { // Implemente. Retorne uma cópia (método clone) do objeto Midia encontrado. }
 
    public void remover(String codigo) { // Implemente. }
 
    public boolean existe(String codigo) { // Implemente }
}

Motivo de eu ter falado p/ vc usar o método clone: https://www.securecoding.cert.org/confluence/display/java/OBJ05-J.+Defensively+copy+private+mutable+class+members+before+returning+their+references

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Construtor da questão 1 ainda está errado. Faltaram os parâmetros.

 

 

 
public Midia(String codigo, String titulo, String[] autores) {
     this.codigo = codigo;
     this.titulo = titulo;
     this.autores = autores;
     this.estoque = 0;
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.