Bom dia pessoal GUJ!
+ uma vez eu me empacando no Java, vcs não sabem a "relva" q eu fico com isso!
sou mto + tirar duvidas do q ter duvida, como é chato não saber! =(
Gostaria q os amigos me ajudasse a entender o código a partir do while q faz a pesquisa do nr_id do cliente cadastrado, do método removerCliente(). Não entendi a lógica e o funcionamento dessa função!
import java.util.Scanner;
public class Banco
{
static int numId[];
static String nome[];
static int tipo[];
static double saldo[];
static Scanner r;
static int pos;
public static void main(String[] args)
{
r = new Scanner(System.in);
numId = new int[150];
nome = new String[150];
tipo = new int[150];
saldo = new double[150];
pos = 0;
menu();
}
public static void menu()
{
int opt;
do{
System.out.println("[1] Adicionar Cliente");
System.out.println("[2] Remover Cliente");
System.out.println("[3] Listar todos Clientes");
System.out.println("[4] Sair");
opt = r.nextInt();
switch(opt)
{
case 1:
adicionarCliente();
break;
case 2:
removerCliente();
break;
case 3:
listarClientes();
break;
case 4:
System.out.println("Encerrando o Sistema");
break;
default:
System.out.println("Opção inválida");
}
}while(opt!=4);
}
public static void adicionarCliente()
{
System.out.println("..........Cadastro.........");
System.out.println("Nr de indentificação: ");
numId[pos] = r.nextInt();
System.out.println("Nome do Cliente: ");
nome[pos] = r.next();
System.out.println("Tipo da conta (0 = CC | 1 = Poupança): ");
tipo[pos] = r.nextInt();
System.out.println("Saldo: ");
saldo[pos] = r.nextDouble();
pos++;
}
[i][b]public static void removerCliente()
{
System.out.println("..........Remoção......... ");
System.out.println("Nr de Identificação");
int num = r.nextInt();
//busca o cliente pela identificação
int i = 0;
while(i<pos && numId[i]!=num)
{
i++;
if(i==pos)
System.out.println("CLIENTE INEXISTENTE");
else
{
for(;i<pos-1;i++)
{
numId[i] = numId[i+1];
nome[i] = nome[i+1];
tipo[i] = tipo[i+1];
saldo[i] = saldo[i+1];
}
pos--;
} //fim else
}//fim while
}[/b][/i]
public static void listarClientes()
{
for(int i = 0; i < pos; i++)
{
System.out.printf("\nNr de Id: %d", numId[i]);
System.out.printf("\nNome: %s", nome[i]);
System.out.printf("\ntipo: %d", tipo[i]);
System.out.printf("\nSaldo: %f", saldo[i]);
}
}
}//fim do programa
Thiago Marinho