Buscar atributos

Estou criando um pequeno sistema para fins de estudo, tenho as classes: Usuario e Login

public class Usuario {
    private String nome;
    private String email;
    private String senha;
    private String endereco;

    public void editarDados(){
        
    }
    
    public void excluirConta(){
        
    }
// sets e gets não colados para economizar espaço
}

public class Login {
    private String identificadorUser;
    private String senha;
    
    Scanner input = new Scanner(System.in);
    
    
    public void criarLogin(){
        Usuario user = new Usuario();
        System.out.print("Nome: ");
        user.setNome(input.next());
        
        System.out.print("Email: ");
        user.setEmail(input.next());
        
        System.out.print("Senha: ");
        user.setSenha(input.next());
        
        System.out.print("Endereço: ");
        user.setEndereco(input.next());
    }
    
    public void fazerLogin(){
        this.identificadorUser = user.getEmail(); // identifadorUser fica null
        this.senha = user.getSenha(); // senha tambem fica null
        
        String a, b;
        
        System.out.print("Email: ");
        a = input.next();
        
        System.out.print("Senha: ");
        b = input.next();
        System.out.println(a);
        System.out.println(this.identificadorUser);
        if (this.identificadorUser.equals(a)) {
            System.out.println("Login permitido");
        }else{
            System.out.println("Usuário ou senha inválidos");
            System.out.println(a);
            System.out.println(this.identificadorUser);
        }
    }
// sets e gets não colados para economizar espaço
}

Tá… E qual a sua dúvida?

Eu queria que os atributos identificadorUser e senha da classe login recebesse os atributos email e senha setados no metodo criarLogin

Pelo que entendi, você cria um usuário com a função criarLogin() porém ele é perdido posteriormente. Você pode criar um usuário global e ao instânciar um novo usuário preenche-lo com as informações, ou (na verdade há n possibilidades aqui) retornar o usuário criado e depois repassá-lo para a função fazerLogin(). Ficaria algo mais ou menos assim – usando a segunda opção:

public Usuario criarLogin(){
    Usuario user = new Usuario();
    System.out.print("Nome: ");
    user.setNome(input.next());
    
    System.out.print("Email: ");
    user.setEmail(input.next());
    
    System.out.print("Senha: ");
    user.setSenha(input.next());
    
    System.out.print("Endereço: ");
    user.setEndereco(input.next());

    return user;
}

public void fazerLogin(Usuario user){
    this.identificadorUser = user.getEmail(); // identifadorUser fica null
    this.senha = user.getSenha(); // senha tambem fica null
    
    String a, b;
    
    System.out.print("Email: ");
    a = input.next();
    
    System.out.print("Senha: ");
    b = input.next();
    System.out.println(a);
    System.out.println(this.identificadorUser);
    if (this.identificadorUser.equals(a)) {
        System.out.println("Login permitido");
    }else{
        System.out.println("Usuário ou senha inválidos");
        System.out.println(a);
        System.out.println(this.identificadorUser);
    }
}

Ao usar as funções poderia fazer algo como:

Login login = new Login();
Usuario newUser = login.criarLogin();
login.fazerLogin(newUser);
1 curtida

Muito obrigado amigo…
procurei bastante isso na internet mas não achei
Obrigado