Comparando atributos de um objeto?

8 respostas
R

Olá…sou novo no forum e estou com um probleminha…

não consigo comparar um atributo de um objeto com outro atributo de outro objeto para verificar se são iguais…

tenho a classe ContaBancaria,

tenho uma instancia de um objeto chamado NovaConta e tenho um atributo chamado numeroconta…

e toda vez que eu crio uma conta a mesma é salva em um array…

o negocio é o seguinte o usuario tera que apagar uma conta…ele digita o numero da conta que deseja apagar…

como faço para comparar o numero que ele digitou com o atributo numeroconta do objeto NovaConta???

já tentei ==
já tentei salvar o numero digitado em um outro array para comparar …

mais nenhuma deu certo !!!

No aguardo de um help !!! vlwwwwss :?:

8 Respostas

eberson_oliveira

ola rzpg,

coloca o seu codigo pra gente poder te ajudar…

[]s

bruno_savi

Objto1.atributo.equals(objeto2.atributo)

R

esta parte do meu código esta assim:

existe um switch…

case 1: // incluir contas…

case 2: // excluir contas

ContaBancaria exclui[] = new ContaBancaria[10];
			int apagaconta, contadorexclui =0;
				
			
			apagaconta = Integer.parseInt(JOptionPane.showInputDialog("DIGITE O NUMERO DA CONTA QUE DESEJA EXCLUIR"));
			
			ContaBancaria ExcluiConta = new ContaBancaria();
			ExcluiConta.Exclui(apagaconta);
			exclui[contadorexclui] = ExcluiConta;
			
			for (contadorexclui = 0; contadorexclui < bancos.length; contadorexclui++)
			{
				if (bancos[contadorexclui].numeroconta == exclui[ExcluiConta].excluiconta)
				{
					JOptionPane.showMessageDialog(null ,"teste");	
				}
			}
			
			break;

OBS: o array bancos esta criado no main e é usado no case 1 para inclusão de contas.

wagnerlegiao

Acredito que vc queira localizar o elemento na lista, para então apagá-lo.
A maneira mais simplista é você fazer um laço de repetição iterando até achar o elemento.

List<ContaBancaria> lista = new ArrayList();

private void apagar(ContaBancaria conta){
  for(ContaBancaria c : lista)
        if(c.getNumeroConta.equals(conta.getNumeroConta())
             .... rotina para excluir o elemento
}
ViniGodoy

Ô pessoal, na hora de postar código, podem por favor usar essas dicas aqui:
http://www.guj.com.br/posts/list/50115.java

Senão fica difícil de ler…

Esse seu if tem um sério problema:
bancos[contadorexclui].numeroconta == exclui[ExcluiConta].excluiconta)

O valor em negrito é um objeto, do tipo ContaBancaria. Você não pode usa-lo como índice.
Aliás, o que exatamente tem nesses vetores?

R

é o seguinte:

tenho um vetor de 10 posições chamado bancos.
Eu crio um objeto do tipo ContaBancaria chamado NovaConta.
esse objeto tem os seguintes atributos : nome, saldo, tipoconta e numeroconta
Quando eu incluo uma conta nova ele armazena meu objeto no meu vetor e vai para o proximo indice…

até ta duto belezinha…

só na parte de excluir conta que eu não consigo procurar/comparar o que o usuario digitou com o atributo numeroconta do meu objeto NovaConta que esta dentro do vetor, para assim efetuar a exclusão do OBJETO que esta nesta posição do vetor.

… :-o

ViniGodoy

O java dá algum erro?

Seus atributos por acaso não são private?
Pode postar o código da classe ContaCorrente, devidamente formatado com a tag [code]?

R

Meu Código esta assim......no case 2 onde é feita a exclusão não consigo comparar o numero digitado com o numero da conta que esta no vetor bancos....

import javax.swing.*;

public class Banco {

	public static void main(String args[]){
		
		ContaBancaria bancos[] = new ContaBancaria[10]; 
		String nome;
	    double saldo;
	    boolean contaespecial;
	    int opcao,
	    	numeroconta,
	    	contador = 0;
				
		// mostrar menu de opções		  		
		do {
			opcao = Integer.parseInt(JOptionPane.showInputDialog("ESCOLHA UMA DAS SEGUINTES OPÇÕES:\n\n 1 - INCLUIR CONTA\n 2 - EXCLUIR CONTA\n 3 - LISTAR CONTA\n 4 - PROCURAR CONTA\n 5 - SAIR"));
			switch (opcao)
			{
			
			// INCLUIR CONTA
			case 1:
				int testaconta;
		    	nome = JOptionPane.showInputDialog("DIGITE SEU NOME");
				saldo = Double.parseDouble(JOptionPane.showInputDialog("DIGITE SEU DEPÓSITO INICIAL"));
				testaconta = Integer.parseInt(JOptionPane.showInputDialog("1 - CONTA ESPECIAL \n\n0 - CONTA COMUM\n"));
				
					while (testaconta != 0 && testaconta != 1)
					{
						JOptionPane.showMessageDialog(null, "ATENÇÃO, DIGITE UMA OPÇÃO VALIDA", "Erro", JOptionPane.ERROR_MESSAGE);
						testaconta = Integer.parseInt(JOptionPane.showInputDialog("1 - CONTA ESPECIAL \n\n0 - CONTA COMUM\n"));
					}
					
				numeroconta = Integer.parseInt(JOptionPane.showInputDialog("DIGITE O NUMERO DE SUA CONTA"));

					if (testaconta == 1)
					{
						contaespecial = true;
					}
					else
					{
						contaespecial = false;
					}
				
				ContaBancaria NovaConta = new ContaBancaria();
				NovaConta.Incluir(nome, saldo, contaespecial, numeroconta); //envia parâmetros ao método Incluir através do obj NovaConta

					if (contador <= 9) // condição para verificar se o vetor bancos está cheio
					{	
						bancos[contador] = NovaConta;
						contador++; 
					}
					else
					{
						JOptionPane.showMessageDialog(null ,"NÃO É POSSIVEL ADICIONAR MAIS CONTAS", "Erro", JOptionPane.ERROR_MESSAGE);	
					}
			break;


			// EXCLUIR CONTA
			case 2:
			
				final ContaBancaria exclui[] = new ContaBancaria[1];
				int apagaconta, contador2 =0;
					
				
				apagaconta = Integer.parseInt(JOptionPane.showInputDialog("DIGITE O NUMERO DA CONTA QUE DESEJA EXCLUIR"));
				
				ContaBancaria ExcluiConta = new ContaBancaria();
				ExcluiConta.Exclui(apagaconta);
				exclui[0] = ExcluiConta;
				
  				
				
				break;
Criado 26 de agosto de 2008
Ultima resposta 26 de ago. de 2008
Respostas 8
Participantes 5