Duvida, como fazer essa verificação?

Gostaria de algumas sugestões de como fazer essa verificação pois não estou conseguindo fazer com que funcione. desde já agradeço!

Ninguém tem uma ideia não?

Robson.Santanaa
Onde estão gravados os títulos? Em uma lista (Arraylist, LinkedList)? Em um banco de dados? Que dificuldade você está tendo em fazer a verificação?

Se for uma lista contendo os títulos, você teria de percorrer a lista e verificar se o artista da lista é o mesmo do título que você está tentando inserir. Se sim, verifica se o ano é o mesmo. Se for, retorne false. Caso você percorra a lista inteira e não encontre o artista e o ano, insira o título na lista e retorne true.

Obs: não sei se funcionou pra você, mas pra mim a imagem não carregou. Tive que clicar com o botão direito e selecionar “Exibir imagem”. Talvez por isso ninguém tenha respondido.

Abraço.

Bom diia amigo já solucionei o problema da imagem.

Parra esse método está sendo usado uma classe Titulo que contem apenas um construtor e seus get, e outra classe Artista que inicializa o array de Titulos dentro de outro método.
O problema está em como posso verificar se o artista já lançou mais de 2 titulos no mesmo ano.

Poderia postar o código da classe Titulo para examinarmos os atributos?

Uma dica seria deixar um atributo Map<String, Integer> na classe Titulo para controlar o titulo junto ao ano, como o mapa não pode ter chaves repetidas (String) o Integer seria o ano de lançamento, por exemplo:

Map&lt;String, Integer&gt; titulos = new HashMap&lt;String, Integer&gt;();

titulos.put("Yellow Submarine", 1969);

Caso o artista lance o mesmo titulo, simplesmente a posição da lista será substituída, podendo-se alterar o ano do titulo.

Agora se você deseja controlar a repetição pelo ano ao invés do título, mude o Mapa para Map<Integer, String> que irá resolver.

Essa é a classe Titulo que esta aparentemente normal.

[code]public class Titulo {

private static int setCodigo;
private int codigo;
private String genero;
private String descricao;
private int anoLanc;

public Titulo(String genero, String descricao, int anoLanc){
	this.genero = genero;
	this.descricao = descricao;
	this.anoLanc = anoLanc;
	this.codigo = setCodigo++;
}

public int getCodigo() {
	return codigo;
}

public String getGenero() {
	return genero;
}

public String getDescricao() {
	return descricao;
}

public int getAnoLanc() {
	return anoLanc;
}

}
[/code]

E essa é a classe Artista onde o array “listaTitulos” esta sendo iniciado e onde fica o método “LancarTitulo” no qual estou com problema. Fiz dessa forma mais acho q esteja errado.

[code]public class Artista {

private static int setCodigo;
private int codigo;
private String nome;
private double valorShow;
private String nacionalidade;
private Titulo[] listaTitulo;

public Artista(String nome, double valorShow, String nacionalidade) {
	this.nome = nome;
	this.valorShow = valorShow;
	this.nacionalidade = nacionalidade;
	for (int i = 0; i < 9; i++) {
		this.listaTitulo = new Titulo[10];
	}
	this.codigo = setCodigo++;
}

public int getCodigo() {
	return codigo;
}

public boolean LancarTitulo(Titulo novoTitulo) {
	int cont = 0;
	for (int i = 0; i < listaTitulo.length; i++) {
		if (listaTitulo[i] != null && listaTitulo[i].getAnoLanc() == novoTitulo.getAnoLanc()) {
			cont++;
		}
		if (cont < 2) {
			listaTitulo[i] = novoTitulo;
			return true;
		}
	}
	return false;
}

public boolean ExcluirTitulo(int codigo) {
	for (int i = 0; i < listaTitulo.length; i++) {
		if (listaTitulo[i] != null && listaTitulo[i].getCodigo() == codigo) {
			listaTitulo[i] = null;
			return true;
		}
	}
	return false;
}

public Titulo BuscarTitulo(int codigo) {
	for (int i = 0; i < listaTitulo.length; i++) {
		if (listaTitulo != null && listaTitulo[i].getCodigo() == codigo) {
			return listaTitulo[i];
		}
	}
	return null;
}

}
[/code]

Já conseguir resolver obrigado a quem tentou ajudar! esta aqui o resultado

public boolean LancarTitulo(Titulo novoTitulo) { int cont = 0; for (int i = 0; i < listaTitulo.length; i++) { if (listaTitulo[i] != null && listaTitulo[i].getAnoLanc() == novoTitulo.getAnoLanc()) { cont++; } } for (int i = 0; i < listaTitulo.length; i++) { if (cont < 2) { listaTitulo[i] = novoTitulo; return true; } } return false; }