[RESOLVIDO]Dúvida para imprimir um array de objetos

2 respostas
marcusviniciusbastos

Tenho 2 classes :
Cliente e ClienteTeste

Não entendo porque ele não imprime o valor
public class Clientes {
	
	Scanner input = new Scanner(System.in);
	private int codigo;
	
	private String nome;
	
	private String endereco;
	
	private int numero;
	
	private String bairro;
	
	private String cep;
	
	private String cidade;
	
	private String estado;

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}
	public void incluirCliente() throws IOException{
		BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("insira o Código");
		setCodigo(input.nextInt());
		System.out.println("Insira o Nome");
		setNome(is.readLine());
		System.out.println("Insira o Endereço");
		setEndereco(is.readLine());
		System.out.println("Insira o Número");
		setNumero(input.nextInt());
		System.out.println("Insira o Bairro");
		setBairro(is.readLine());
		System.out.println("Insira o Cep");
		setEndereco(is.readLine());;
		System.out.println("Insira a Cidade");
		setEndereco(is.readLine());
		System.out.println("Insira o Estado");
		setEndereco(is.readLine());
	}
	
	public void imprimirCliente(){
		System.out.print("Código:");
		getCodigo();
		System.out.print("Nome:");
		getNome();
		System.out.print("Endereço:");
		getEndereco();
		System.out.print("Numero:");
		getNumero();
		System.out.print("Bairro:");
		getBairro();
		System.out.print("Cep:");
		getCep();
		System.out.print("Cidade:");
		getCidade();
		System.out.print("Estado:");
		getEstado();
	}
	
}
public class ClienteTeste {

	public static void main(String[] args) throws IOException {

		Scanner input = new Scanner(System.in);
		System.out.println("Insira quantos clientes deseja cadastrar");
		int entrada = input.nextInt();
		Clientes[] cliente = new Clientes[entrada];

		for (int i = 0; i < entrada; i++) {
			cliente[i] = new Clientes();
			cliente[i].incluirCliente();
			cliente[i].imprimirCliente();
		}
	}
}

2 Respostas

drsmachado

Não entende?
Perceba que você tem ali um

System.out.println("Estado: ");

E no console, deve sair

Estado:

Certo?

A JVM só sabe que é para escrever algo quando você diz o que irá escrever.
Agora, executar

getEstado();

É o mesmo que entupir um número de zeros à esquerda, não serve de nada, fica na mesma.

Mas

System.out.println("Estado: " + getEstado());

Deve funcionar…

marcusviniciusbastos

Deu certo, que vacilo, não prestei atenção nesse detalhe, realmente, como no meu método eu não retorno uma saída de texto, tenho que adicionar ele na minha saída.
Muito obrigado…

Criado 20 de outubro de 2011
Ultima resposta 21 de out. de 2011
Respostas 2
Participantes 2