Ir ao conteúdo

Posts recomendados

Postado

Olá, estou com um problema no meu array de objetos. Eu consigo preencher todo o formulário, mas na hora de exibir os resultados aparece só a ultima posição do vetor, em todos as posições. Abaixo está a classe de métodos e a principal. 

 

package Poo;

public class ContaCorrente {
// Declaração da classe ContaCorrente
	
		// Declarando os atributos 
		
		private int numero; 
		private int agencia; 
		private double saldo; 
		private String titular; 
		
		// Métodos de acesso e modificadores 
		
		public int getNumero(){
			return numero;
			
		}
		public void setNumero(int numero){
			this.numero = numero; 
		}
		public int getAgencia(){
			return agencia; 
		}
		public void setAgencia(int agencia){
			this.agencia  = agencia; 
		}
		public double getSaldo(){
			return saldo;
		}
		public void setSaldo(double saldo){
			this.saldo = saldo; 
		}
		public String getTitular(){
			return titular; 
		}
		public void setTitular(String nome){
			this.titular = nome; 
		}
		
		
		
	}

package Poo;

import java.util.Scanner;

public class Principal {

	public static void main(String[] args) {
		
		ContaCorrente conta = new ContaCorrente();
		ContaCorrente contas[] = new ContaCorrente[3]; // Criando um vetor para Contas 
		Scanner ler = new Scanner(System.in); 
		
		for(int i = 0 ; i<3 ; i++)
		{		
			System.out.println("\n------------------------------- \n");
			
			System.out.println("Informe o número da conta: "); 
			conta.setNumero(ler.nextInt());
			
			System.out.println("Informe o número da Agencia: "); 
			conta.setAgencia(ler.nextInt());
			
			System.out.println("Informe o Saldo da Conta: "); 
			conta.setSaldo(ler.nextDouble());
			
			ler.nextLine();  // Limpa Buffer do teclado 

			System.out.println("Informe o nome do Titular: "); 
			conta.setTitular(ler.nextLine());
			
			contas[i] = conta;
         
		}		
		// Recuperar os dados do Vetor 
		
		for(int i = 0; i<3 ; i++)
		{
			conta = contas[i]; 
			
			System.out.println("\n------------------------------- \n");
			System.out.println("Numero da conta: "+conta.getNumero());
			System.out.println("Agência: "+conta.getAgencia()); 
			System.out.println("Saldo: "+conta.getSaldo()); 
			System.out.println("Titular: "+conta.getTitular()); 
		}
}

}

 

Postado

Boa noite,

 

Já que tu sabe qual o tamanho da array (Ou "vetor", como quiser denominar), tente utilizar um loop mais "comum" e veja se por acaso resolve o seu problema:

for (ContaCorrente conta : contas)
{
  //código aqui
}

O seu erro estava que você definia a instância de conta UMA VEZ SÓ, ao invés de definir uma nova a cada vez que o loop roda, como mostrarei abaixo, porém, usando ArrayList.

public static void main(String[] args) {

	ArrayList<ContaCorrente> contas = new ArrayList<>():
	Scanner ler = new Scanner(System.in); 
	
	for(int i =  ; i < 3 ; i++)
	{
       		ContaCorrente conta = new ContaCorrente();
		System.out.println("\n------------------------------- \n");
		
		System.out.println("Informe o número da conta: "); 
		conta.setNumero(ler.nextInt());
		
		ler.nextLine();  // Limpa Buffer do teclado 
		System.out.println("Informe o nome do Titular: "); 
		conta.setTitular(ler.nextLine());
			
		contas.add(conta);
	}		
	// Recuperar os dados do Vetor 
		
	for(ContaCorrente conta : contas)
	{			
		System.out.println("Informe o número da Agencia: "); 
		conta.setAgencia(ler.nextInt());
			
		System.out.println("Informe o Saldo da Conta: "); 
		conta.setSaldo(ler.nextDouble());
		System.out.println("Numero da conta: "+conta.getNumero());
		System.out.println("Agência: "+conta.getAgencia()); 
		System.out.println("Saldo: "+conta.getSaldo()); 
		System.out.println("Titular: "+conta.getTitular()); 
	}
}

Isso é tudo,

[]'s.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!