2
respostas

[Projeto] ATUALIZAR CARGO E NÍVEL DE ACESSO

package classes;

import java.util.Scanner;

public class Cadastro {
    private String nome;
    private String cargo;
    private int nivelDeAcesso;
    
    Scanner input = new Scanner(System.in);

    public Cadastro(String nome, String cargo, int nivelDeAcesso) {
        this.nome = nome;
        this.cargo = cargo;
        this.nivelDeAcesso = nivelDeAcesso;
    }

    public void alterarCargoAcesso() {
        System.out.println("----------------------------");
        System.out.print("Digite o novo cargo: ");
        this.cargo = input.nextLine();
        System.out.print("Digite o novo nível de acesso: ");
        this.nivelDeAcesso = input.nextInt();
    }

    public void mostrarAntesDepois() {
        System.out.println("--- Antes da atualização ---");
        System.out.println("Nome: " + this.nome);
        System.out.println("Cargo atual: " + this.cargo);
        System.out.println("Nível de acesso atual: " + this.nivelDeAcesso);
        alterarCargoAcesso();
        System.out.println("----- Após atualização -----");
        System.out.println("Nome: " + this.nome);
        System.out.println("Novo cargo: " + this.cargo);
        System.out.println("Novo nível de acesso: " + this.nivelDeAcesso);
    }
    
    input.close();
}

import classes.Cadastro;

public class MainExerciciosCadastro {
    public static void main(String[] args) {
        Cadastro cadastro1 = new Cadastro("Cleiton", "Técnico de informática", 1);

        cadastro1.mostrarAntesDepois();
    }
}
2 respostas

Oi, Cauan! Como vai?

O seu projeto ficou bem organizado, com a classe Cadastro armazenando os atributos nome, cargo e nivelDeAcesso, além de permitir a atualização dos dados pelo método alterarCargoAcesso(). Também ficou legal a ideia de mostrar o antes e depois da alteração, pois isso ajuda a visualizar claramente o efeito da mudança no objeto.

Você aplicou bem os conceitos de classes, atributos, métodos e construtor.

Uma dica é evitar fechar o Scanner dentro do método quando ele usa o System.in, porque isso pode impedir novas leituras em outras partes do programa. Uma alternativa é criar o Scanner no main e passá-lo para o método, ou fechar apenas no final da execução. Pensando no seu projeto, qual validação você adicionaria para garantir que o nível de acesso informado seja válido?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Para validar se o nível de acesso seria válido, eu definiria um número de acesso máximo e um número de acesso mínimo, como exemplo: nível mínimo de acesso 1 e nível máximo de acesso 3. Desta maneira eu iria construir uma estrutura condicional para validar se o nível de acesso atual é maior do que 0 e menor ou igual a 3. E com isso utilizaria também para validar o novo nível de acesso.