java – Como acessar um metodo dentro de um array de objeto?

Quando tento acessar a variavel ValorDebitado dentro da classe relação de débitos acontece o erro:
“Cannot invoke “cartao.Item.setValorDebitado(double)” because “this.relacaoDeDebitos(this.compra)” is null”

Classe principal:


import java.util.Scanner;

public class Cartão {
     static Scanner scn = new Scanner(System.in);
    public static void main(String() args) {
        Conta c1 = new Conta();
        c1.setCompra(0);
        System.out.println("Defina a senha do cartão: ");
        criarSenha(c1);
    }
    
    static void criarSenha(Conta c1) {
        c1.setSenha(scn.nextInt());
        menu(c1);
    }

static void menu(Conta c1) {
    int loop = 0;
    while(loop < 1) {
    
        System.out.println("n---Tabela---");
        System.out.println("1 - Debitar");
        System.out.println("2 - Gerar faturas");
        
        int opt = scn.nextInt();
        
       
        switch(opt) {
        case 1:
            boolean a = debitar(c1);  
            if(a == true) {
                System.out.println("Débito realizado com sucesso!"); 
            }
            else {
                System.out.println("Falha ao realizar débito.");
            }
            
            break;
      
    }
}
    
static boolean debitar(Conta c1) {
    
    System.out.println("nInsira a sua senha: ");
        if(c1.getSenha() != scn.nextInt()) {
            return false;
        }
        
            System.out.println("nInsira o valor a ser debitado: ");
            c1.setValorDebito(scn.nextDouble());
    
            System.out.println("nInsira o nome do estabelecimento: ");
            c1.setLocalDebitado(scn.next());
            
            int compra = c1.getCompra();
            c1.setCompra(compra++);
            
            return true;

}

}



Classe conta:


public class Conta {
   private int senha;
   private double saldo;
   private Item() relacaoDeDebitos = new Item(10);    
   private int compra;
   
   public double getSaldo() {
       return saldo;
   }
   
   public void setSaldo(double saldo) {
       if(saldo > 0) {
           this.saldo = saldo;
       }
   }
   
   public int getCompra() {
       return compra;
   }
   
   public void setCompra(int compra) {
       this.compra = compra;
   }
   
   public int getSenha() {
       return senha;
   }
   
   public void setSenha(int senha) {
       if (senha > 0 && senha <= 9999)
       this.senha = senha;
   }

   public double getValorDebitado(int compra) {
       return relacaoDeDebitos(compra).getValorDebitado();
   }
   
   public void setValorDebito(double valorDebito) {
       this.relacaoDeDebitos(compra).setValorDebitado(valorDebito);
   }
   
   public String getLocalDebitado(int compra) {
       return relacaoDeDebitos(compra).getLocalDebitado();
   }
   
   public void setLocalDebitado(String localDebitado) {
       this.relacaoDeDebitos(compra).setLocalDebitado(localDebitado);
   }

   
}
   

Classe relação de debitos:


public class Item {
   private String LocalDebitado;
   private double ValorDebitado;
   
   public String getLocalDebitado() {
       return LocalDebitado;
   }
   
   public void setLocalDebitado(String LocalDebitado) {
       this.LocalDebitado = LocalDebitado;
   }
   
   public double getValorDebitado() {
       return ValorDebitado;
   }
   
   public void setValorDebitado(double ValorDebitado) {
       this.ValorDebitado = ValorDebitado;
   }

}