PROGRAMA - login e cadastro

Boa tarde,

Preciso de uma ajuda. Tenho que fazer um programa em JAVA que faça login e cadastro
mas não estou conseguindo. Poderiam me ajudar? Não consigo identificar o erro aqui

import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;

class Main {
  
  private Scanner l;
  private boolean execute;
  private List<Dados> dados;
  
  public static void main(String[] args) {
    new Main();
  }
  
  private Main() {
    l = new Scanner(System.in);
    execute = true;
    dados = new ArrayList<Dados>();
    
    System.out.println("BEM VINDO AO MEU ACABAMENTO");
    
    while (execute) {
      String opcao = menu();
      
      if (opcao.equalsIgnoreCase("n")) {
        cadastrar();
      } else if (opcao.equalsIgnoreCase("l")) {
        login();
      } else if (opcao.equalsIgnoreCase("x")) {
        execute = false;
      } else {
        System.out.println("\nOpção Inválida!!! \n");
      }
    }
  }
  
  private String menu() {
    System.out.println("Selecione a opção:");
    System.out.println("N - Novo cadastro");
    System.out.println("L - Login");
    System.out.println("X - Sair");
    return l.nextLine();
  }
  
  private void cadastrar() {
    boolean cadastrando = true;
    
    while (cadastrando) {
      System.out.println("Cadastro de Usuário");
      
      Dados d = new Dados();
      d.setNome(textInput("Login:"));
      d.setLogin(textInput("Senha: "));
      
      String cadastrar = textInput("Adicionar cadastro (S/N) ?");
      
      if (cadastrar.equalsIgnoreCase("s")) {
        System.out.println("Cadastro adicionado !!!");
        dados.add(d);
      } else if (cadastrar.equalsIgnoreCase("n")){
        System.out.println("Cadastro ignorado !!!");
      } else {
        System.out.println("\nOpção inválida !!! \n");
      }
      
      String continua = textInput("Continuar cadastrando (S/N) ?");
      
      if (continua.equalsIgnoreCase("N")) {
        cadastrando = false;
      } else if (continua.equalsIgnoreCase("s")){

      } else {
        System.out.println("\nOpção inválida !!! \n");
        cadastrando = false;
      }
    }
  }
  
  private void Login() {
    if (dados.size() == 0) {
      System.out.println("login> ");
      String login = in.nextLine();
      
      System.out.println("senha> ");
      String senha = in.nextLine();
      
      if (login.equals("Login") && senha.equals("Senha")) {
        System.out.printf("Usuário %s logado com sucesso.", login);
      } else {
        System.out.println("Login ou senha inválidos!");
      }