Alguém poderia me ajudar em uma questão.
O programa está compilando, porém, mesmo eu mudando o número de cpf, deixando igual de dois clientes ele ainda adiciona, mas não deveria acontecer isso.
Instanciei os clientes do meu arranjo no método main.
Classe Gerente
public class Gerente extends Pessoa implements InterfaceGerente{
private static final String tipo = "G";
private Cliente[] clientes;
private int numClientes;
private int valorContaCorrente;
private int valorDaDivida;
Gerente(String nome, int cpf){
super(nome, cpf);
clientes = new Cliente[20];
numClientes = 0;
}
String retornaTipo() {
return tipo;
}
void imprimirClientes(){
Cliente atual;
System.out.println("\tNumero de clientes: " + numClientes);
for (int c=0; c < numClientes; c++){
atual = clientes[c];
System.out.println("\t" + (c+1) + "\t" + atual.retornaTipo() + "\t" + atual.nome + "\t" + atual.cpf + "\t" + atual.getValorContaCorrente() + "\t" + atual.getValorDaDivida() + "\t" + atual.negativado());
}
}
public boolean adicionarCliente(Cliente cliente) {
if ( this.numClientes == 20) {
return false;
}
for ( int j=0; j < numClientes; j++) { // Perorrer o arranjo.
if ( this.clientes[j].cpf == cliente.cpf ) {
return false;
}
}
for(int k=0; k < numClientes; k++) {
if( this.clientes[k].cpf != cliente.cpf) {
clientes[numClientes] = cliente;
numClientes += 1;
return true;
}
}
return true;
}
public static void main(String[] args){
Cliente c1 = new Cliente("Cliente A", 27855, 10000);
Cliente c2 = new Cliente("Cliente B", 24564, 10000);
Cliente c3 = new Cliente("Cliente C", 27444, 10000);
Cliente c4 = new Cliente("Cliente D", 2222, 10000);
Cliente c5 = new Cliente("Cliente E", 2222, 10000);
Cliente c6 = new Cliente("Cliente F", 2222, 10000);
Cliente c7 = new Cliente("Cliente G", 2222, 10000);
Cliente c8 = new Cliente("Cliente H", 2222, 10000);
Cliente c9 = new Cliente("Cliente I", 2222, 10000);
Cliente c10 = new Cliente("Cliente J", 2232, 10000);
Cliente c11 = new Cliente("Cliente K", 2222, 10000);
Cliente c12 = new Cliente("Cliente L", 2222, 10000);
Cliente c13 = new Cliente("Cliente M", 2222, 10000);
Cliente c14 = new Cliente("Cliente N", 2222, 10000);
Cliente c15 = new Cliente("Cliente O", 2222, 10000);
Cliente c16 = new Cliente("Cliente P", 2222, 10000);
Cliente c17 = new Cliente("Cliente Q", 2222, 10000);
Cliente c18 = new Cliente("Cliente R", 2222, 10000);
Cliente c19 = new Cliente("Cliente S", 2222, 10000);
Cliente c20 = new Cliente("Cliente T", 2222, 10000);
if (ger1.adicionarCliente(c1)) System.out.println("Cliente '" +c1.nome + "' adicionado corretamente.");
else System.out.println("Cliente '" + c1.nome + "' nao pode ser adicionado.");
}
}
Classe Cliente
Cliente(String nome, int cpf, int valorInicial){
super(nome, cpf);
valorContaCorrente = valorInicial;
valorDaDivida = 0;
}

