Vetor de Objetos

1. Vetor de Objetos

mateus da silva
metalicarus1

(usa Ubuntu)

Enviado em 10/04/2016 - 10:51h

Olá, estou com um problema no meu código. Tenho duas classes, a para criação de métodos e a principal.
O problema é que somente a última inscrição no vetor é válida. Ou seja, faço todo o cadastro mas somente a ultima posição é gravada.

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());
}
}

}



  


2. Re: Vetor de Objetos

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 10/04/2016 - 14:14h

Oi.

Isso ocorre porquê você criou um único objeto da classe Conta e alterou os dados 3 vezes.

As 3 posições do vetor apontam para o mesmo objeto Conta.

Objetos são passados por referência.

Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts