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

185
Visualizações
Crear un menú con una matriz accesible en todas las clases

Estoy tratando de crear un menú en Java. Primero tengo que mostrar todas las opciones del 1 al 6 y obtener la selección de los usuarios. Cada una de las opciones tiene una función diferente que llevar a cabo. 1.º: agregar elementos y almacenarlos en una matriz. 2.º: mostrar todos los elementos de la matriz... y así sucesivamente. He creado la matriz para la opción 1, pero no sé cómo puedo hacerlo. mostrar los elementos en la opción 2. ¿Hay alguna manera de hacer que esta matriz sea accesible para cada opción seleccionada? ¡Cualquier ayuda sería muy apreciada! Aquí está el código de mi primer archivo hasta ahora:

 import java.util.Scanner; import java.util.ArrayList; public class TestProject {public static void main(String[] args){System.out.println("Please provide the duration for up to five projects."); //print menu System.out.println("Application Menu - Item type: Project"); System.out.println("1- Add an item" + "\n" + "2 - Display all items" + "\n" + "3- Search and display all the items whose mandatory state is the same given value" + "\n" + "4 -Calculate and display the average value of the mandatory state of all the items entered until that point" + "\n" + "5 - Item with the highest mandatory state" + "\n" + "6 - Exit application"); // Create scanner object & get user inputScanner choice = new Scanner(System.in);System.out.println("Please choose by entering the number of your choice"); //Read user inputint userChoice = choice.nextInt(); # //switch statement switch (userChoice){ case 1: Scanner myInput = new Scanner(System.in); TestJavaClass get = new TestJavaClass(); //declare an int\[\] variable int\[\] myMonths; //create an array of int elements myMonths = new int\[1\]; // counter controlled loop for (int i = 0; i \< 5; i++){ int order = i + 1; System.out.print("enter value " + myMonths + " : "); myMonths\[i\] =myInput.nextInt(); } break; case 2: for (int i=0; i \< myMonths.length; i++){ System.out.println("the element at index " + i + " is: " + myMonths\[i\]); } System.out.println("Choice 2: Display all items"); break; case 3: System.out.println("Choice 3"); break; case 4: System.out.println("Choice 4"); break; case 5: System.out.println("Choice 5"); break; case 6: System.out.println("Choice 6"); break; default: System.out.println("Please enter a valid number"); } } }

Recibo este error cuando intento compilar:TestProject.java:41: error: la variable myMonths podría no haberse inicializado para (int i=0; i < myMonths.length; i++){ ^

He intentado agregar métodos a cada uno de los casos de cambio, pero parece que no puedo acceder a la matriz desde el caso 1.

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

0

El alcance de las variables declaradas dentro de cada cláusula de caso es la declaración de cambio completa. Por lo tanto, aunque lo haya declarado en el caso 1, aún puede usarlo en el caso 2. Pero ha inicializado la variable myMonths en el caso 1. Si el usuario selecciona el caso 2 como primera opción, existe la posibilidad de que la variable myMonths sea nulo. Así que estás teniendo problemas con el compilador.

Puede definir la matriz myMonths fuera de su declaración de cambio para resolver esto.

 int[] myMonths = new int[1]; //switch statement switch (userChoice) { case 1: }
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