Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
Declaración de cambio de omisión de Java usando getter como expresión

Hola, lo siento por el qué para ustedes debe parecer una pregunta estúpida, pero he estado atascado en esto por un tiempo, estoy usando un getter de una clase diferente como la expresión de cambio en otra clase, mi programa sigue omitiendo todo el cambio todos juntos.

¡Gracias por tu tiempo!

Primera clase

 public class InputRequests { public int loginRole; public void loginChoice(){ Scanner login = new Scanner(System.in); loginRole = login.nextInt(); } public int getLoginRole() { return loginRole; } }

Segunda clase

 public class Menus { public void loginChoiceCase() { InputRequests inp = new InputRequests(); switch (inp.getLoginRole()) { case 1 -> System.out.println("test"); case 2 -> System.out.println("tested"); case 3 -> System.exit(1); } } }

principal

 public class Main { public static void main(String[] args) { Printblocks print = new Printblocks(); InputRequests input = new InputRequests(); Menus menu = new Menus(); print.firstMenu(); input.loginChoice(); menu.loginChoiceCase(); System.out.println(input.getLoginRole()); } }

La primera impresión del menú es solo un pintblock sin nada más, cuando ejecuto el programa obtengo el int que ingreso de nuevo.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Su programa no se salta la declaración de cambio. Mire el método Menus.loginChoiceCase(). Está creando una nueva instancia de InputRequests. Lo que significa que inp.getLoginRole() es nulo, y su declaración de cambio no tiene un caso predeterminado para detectar nulos.

Agregue un caso predeterminado a la declaración de cambio

 default -> System.out.println("Null");

Idealmente, lo que querría hacer es que su método loginChoiceCase() tome un int y luego lo use en su declaración de caso. Con loginChoiceCase() capaz de tomar un int, luego puede usar su getter. Como abajo.

Solicitudes de entrada

 public class InputRequests { public int loginRole; public void loginChoice(){ Scanner login = new Scanner(System.in); loginRole = login.nextInt(); } public int getLoginRole() { return loginRole; } }

Menús

 public class Menus { public void loginChoiceCase(int choice) { switch (choice) { case 1 : System.out.println("test"); case 2 : System.out.println("tested"); case 3 : System.exit(1); default : System.out.println("Null"); } } }

Principal

 public class Main { public static void main(String[] args) { Printblocks print = new Printblocks(); InputRequests input = new InputRequests(); Menus menu = new Menus(); print.firstMenu(); menu.loginChoiceCase(input.getLoginRole); System.out.println(input.getLoginRole()); } }
over 4 years ago · Santiago Trujillo Relatório

0

Debe eliminar esta línea porque este es un objeto diferente del que declaró en el método main

 public class Menus { public void loginChoiceCase() { InputRequests inp = new InputRequests(); <--- delete this line switch (inp.getLoginRole()) { case 1 -> System.out.println("test"); case 2 -> System.out.println("tested"); case 3 -> System.exit(1); } } }

Explicación: ¿Por qué sucedió esto?

Porque el objeto que declaró en el método loginChoiceCase no almacenó el valor de la consola de usuario y el valor de loginRole es el valor predeterminado que es cero y no tiene un menú con cero mayúsculas y minúsculas.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda