Olá! Estou com o seguinte programa. Creio que o programa esteja certo, contudo, quando o ussuario quer procurar por um nome, não consigo usar o contains para achar esse nome. Ele sempre diz que não existe nenhuma doacao com o nome digitado. Segue aí meu programa:
Classe Principal:
/**Sintese
- Objetivos: Cadastrar e avaliar doacoes a uma creche.
- Entradas: Nome, quantidade e codigo do item e selecionador de categoria.
- Saidas: Lista de avaliacao dos cadastros .
*/
package revisao;
import java.util.Vector;
import dados.DadosAuxiliares;
import dados.Doacoes;
import servicos.Servicos;
import servicos.Validacao;
public class Principal {
public static void main(String[] args) {
int aux = 1;
Vector<Doacoes> registro = new Vector<Doacoes>();
DadosAuxiliares.nomeCreche = Validacao.validaNomeCreche();
do{
Servicos.limpaTela(5);
Servicos.apresentarMenu(DadosAuxiliares.nomeCreche);
switch(Validacao.validaResposta()){
case 1:
Servicos.limpaTela(5);
registro.add(new Doacoes(Validacao.validaNome(aux), Validacao.validaQuantidade(aux), Validacao.validaCodigo(aux, registro)));
DadosAuxiliares.continua = true;
break;
case 2:
Servicos.apresentarRegistro(registro, DadosAuxiliares.nomeCreche);
DadosAuxiliares.continua = true;
break;
case 3:
Servicos.consultarRegistro(registro, DadosAuxiliares.nomeCreche);
DadosAuxiliares.continua = true;
break;
default:
if(registro.isEmpty()){
Servicos.encerrarVazio();
DadosAuxiliares.continua = true;
}
else{
Servicos.encerrar(registro);
DadosAuxiliares.continua = false;
}
}
aux++;
}while(DadosAuxiliares.continua);
}
}
Classe Servicos:
package servicos;
import java.util.Vector;
import dados.Doacoes;
public class Servicos {
public static void limpaTela(int aux) {
for(int auxiliar = 0 ; auxiliar < aux ; auxiliar++)
System.out.println(" ");
}
public static void apresentarMenu(String nomeCreche) {
System.out.println("\t\t\tCreche " + nomeCreche);
System.out.println("Digite o numero a esquerda da opcao que deseja escolher");
System.out.println("1 - Nova doacao\n2 - Mostrar todas as doacoes\n3 - Consultar por nome do conteudo doado\n0 - Terminar");
}
public static void apresentarRegistro(Vector<Doacoes> registro, String nomeCreche){
if(registro.isEmpty()){
limpaTela(5);
System.out.println("Nao foi realizado nenhum registro.");
}
else{
Servicos.limpaTela(5);
System.out.println("\t\t\tCreche " + nomeCreche);
System.out.println("\t\tCodigo\t\tNome\t\tQuantidade");
for(int aux = 0 ; aux < registro.size() ; aux++){
System.out.println(aux+1 + " - \t\t" + registro.get(aux).getCodigo() + "\t\t" + registro.get(aux).getNome() + "\t\t" + registro.get(aux).getQuantidade());
}
}
}
public static void consultarRegistro(Vector<Doacoes> registro, String nomeCreche) {
String palavraAux;
System.out.println("Digite o nome pelo qual deseja consultar");
palavraAux = Leitura.lerString();
if(registro.isEmpty()){
limpaTela(5);
System.out.println("Nao foi realizado nenhum registro.");
}
else if(registro.contains(palavraAux)){
limpaTela(5);
System.out.println("Creche " + nomeCreche);
System.out.println("\t\tCodigo\t\tNome\t\tQuantidade");
for(int aux = 0 ; aux < registro.size() ; aux++){
if (registro.get(aux).getNome().equals(palavraAux))
System.out.println(aux+1 + " - \t\t" + registro.get(aux).getCodigo() + "\t\t" + registro.get(aux).getNome() + "\t\t" + registro.get(aux).getQuantidade());
}
}
else{
limpaTela(5);
System.out.println("Nao foi cadastrada nenhuma doacao com esse nome");
}
}
public static void encerrar(Vector<Doacoes> registro) {
int totalDoacoesAux = 0;
for(int aux = 0 ; aux < registro.size() ; aux++){
totalDoacoesAux += registro.get(aux).getQuantidade();
}
Servicos.limpaTela(5);
System.out.println("Total de Doacoes = " + totalDoacoesAux );
}
public static void encerrarVazio() {
Servicos.limpaTela(5);
System.out.println("Nao e possivel encerrar sem registrar ao menos uma doacao. Selecione outra opcao!");
}
}
Classe Doacoes:
package dados;
public class Doacoes {
private String nome;
private int quantidade;
private int codigo;
public Doacoes(String nome, int quantidade, int codigo) {
this.nome = nome;
this.quantidade = quantidade;
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public int getQuantidade() {
return quantidade;
}
public int getCodigo() {
return codigo;
}
}
Acho que as demais classes são desnecessárias para a duvida, mas caso queiram, só pedir. É um projeto para faculdade. Agradeço a ajuda.