Problema com classe e envio de parametro

Estou tentando criar um código para cadastro de clientes.
Eu até consigo isso, mas quando eu quero manipular as variaveis elas simplesmente zeram, como se eu não tivesse criado antes.

Este aqui está funcionando bem.

[code]class Clientes {
int nbcoc, nctac, tpctac;
String nomec;
double sdoctac, limitec;

Clientes (){
    this (0,0,0,"",0,0);
}

Clientes (int nbco, int ncta, int tpcta, String nome, double sdocta, double limite){
    nbcoc = nbco;
    nctac = ncta;
    tpctac = tpcta;
    nomec = nome;
    sdoctac = sdocta;
    limitec = limite;
}

}[/code]

Agora esse quando chega na parte dos juros é como se eu não tivesse colocado nada antes.

[code]import java.io.;
import javax.swing.
;
public class Teste {
public static void main (String args[]) throws IOException{
int opc = 0;

    while (opc!=9){
        opc = Integer.parseInt(JOptionPane.showInputDialog("Escolha uma opção: \n1 - Cadastro de Clientes \n2 - Calculo de Juros \n9 - Sair"));
        switch (opc){
            case 1: Cadastra_Clientes();
            break;
            case 2: Calcula_Juros();
            break;
            case 9: JOptionPane.showMessageDialog(null, "Fim do Programa!");
            break;
            default: JOptionPane.showMessageDialog(null, "Opção Inválida!\nTente novamente!");
            break;
        }
    }
}

static void Cadastra_Clientes() throws IOException{
    Clientes[] cliente = new Clientes[5];
    int i;
    
    for (i = 0; i<cliente.length;i++)
        cliente[i] = new Clientes();

    for (i = 0; i<cliente.length;i++){
        cliente[i].nbcoc = Integer.parseInt(JOptionPane.showInputDialog("Colocar número do Banco"));
        cliente[i].nctac = Integer.parseInt(JOptionPane.showInputDialog("Colocar o número da Conta"));
        cliente[i].tpctac = Integer.parseInt(JOptionPane.showInputDialog("Colocar o Tipo de Conta (Valor entre 1 e 5)"));
        cliente[i].nomec = JOptionPane.showInputDialog("Colocar Nome do Cliente");
        cliente[i].sdoctac = Double.parseDouble(JOptionPane.showInputDialog("Colocar saldo da conta"));
        cliente[i].limitec = Double.parseDouble(JOptionPane.showInputDialog("Colocar o limite da Conta"));
        }
    
    for (i = 0; i<cliente.length;i++){
        JOptionPane.showMessageDialog(null, "Número do Banco " +cliente[i].nbcoc + "\nNúmero da Conta " +cliente[i].nctac+ "\nTipo de Conta " +cliente[i].tpctac+ "\nNome do Cliente " +cliente[i].nomec+ "\nSaldo da Conta " +cliente[i].sdoctac+ "\nLimite da Conta " +cliente[i].limitec);
        System.out.println("Número do Banco " +cliente[i].nbcoc + "\nNúmero da Conta " +cliente[i].nctac+ "\nTipo de Conta " +cliente[i].tpctac+ "\nNome do Cliente " +cliente[i].nomec+ "\nSaldo da Conta " +cliente[i].sdoctac+ "\nLimite da Conta " +cliente[i].limitec);
    }
  
}


static void Calcula_Juros() throws IOException{
    Clientes[] cliente = new Clientes[5];
    int i;
    double juros[] = new double [5];
          

    for (i = 0; i<cliente.length; i++)
        cliente[i] = new Clientes(); 
    
  for (i = 0; i<cliente.length; i++){
        JOptionPane.showMessageDialog(null, "Número do Banco " +cliente[i].nbcoc + "\nNúmero da Conta " +cliente[i].nctac+ "\nTipo de Conta " +cliente[i].tpctac+ "\nNome do Cliente " +cliente[i].nomec+ "\nSaldo da Conta " +cliente[i].sdoctac+ "\nLimite da Conta " +cliente[i].limitec);
        System.out.println("Número do Banco " +cliente[i].nbcoc + "\nNúmero da Conta " +cliente[i].nctac+ "\nTipo de Conta " +cliente[i].tpctac+ "\nNome do Cliente " +cliente[i].nomec+ "\nSaldo da Conta " +cliente[i].sdoctac+ "\nLimite da Conta " +cliente[i].limitec);
    }

   
   
    for (i = 0; i<cliente.length; i++){
        if (((cliente[i].tpctac)>=1)&&((cliente[i].tpctac)<=3)){
            juros[i] = ((cliente[i].limitec)-(cliente[i].sdoctac)) + (cliente[i].limitec*0.03);
        }
        else if (((cliente[i].tpctac)>3)&&((cliente[i].tpctac)<=5)){
            juros[i] = ((cliente[i].limitec)-(cliente[i].sdoctac)) + (cliente[i].limitec*0.05);           
        }
    }
   
    for (i = 0; i<cliente.length; i++){
        JOptionPane.showMessageDialog(null, "Os juros de " +cliente[i].nomec+ " é " +juros[i]);
        System.out.println("Os juros de " +cliente[i].nomec+ " é " +juros[i]);
    }
}

}[/code]

Ele até cadastra, mas não manda o valor das variaveis do Cadastra_Clientes() para o Calcula_Juros() e é só isso que eu preciso.
Alguém pode me ajudar?

Cara, você precisa deixar seu array de Clientes como um atributo da classe, porque no escopo do método, assim que o método terminar sua execução ela não existirá mais.

cara, dentro de cada método vc tem um array com o mesmo nome?
Eu faria o seguinte, ou criaria o array global para ter acesso de todos os métodos (public static), ou criaria dentro do primeiro método e passando os parâmetros para a outra classe como argumentos, ex: Calcula_Juros(dados do array da outra classe)

Coloquei como global e funcionou.