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

131
Visualizações
Almacenar un valor creado a partir de la entrada del usuario dentro de un ciclo para usarlo en otras iteraciones del ciclo

Estoy tratando de crear un programa que simule conducir un automóvil. En mi programa, tengo el siguiente bucle para permitir que el usuario "conduzca" las millas que desee:

 public void run() { do { System.out.println("How many miles would you like to drive?"); int userInput = scanner.nextInt(); if (userInput > 360) { System.out.println("You don't have enough fuel to drive that far! Please try again."); run(); } System.out.println("You are driving: " + userInput + " miles."); try { for(int c = 0; c < parts.size(); c++){ parts.get(c).function(userInput); } } catch (BreakdownException e) { } } while (getBoolean("Keep driving?"));

Me gustaría tomar la variable userInput y guardarla para poder hacer un seguimiento de cuántas millas hay en el tanque de gasolina. Este es el código que tengo actualmente para eso:

 public void function(int milesDriven) throws BreakdownException { int mpg = 30; int gallons = 12; int totalMiles = gallons * mpg; int milesLeft = totalMiles - milesDriven; if(milesLeft <= 0) { throw new BreakdownException("You ran out of fuel!"); } else if (milesLeft <= (totalMiles / 4)) { if (getBoolean("You are low on fuel! Refuel?")) { milesLeft = gallons * mpg; System.out.println("You now have enough fuel to travel " + totalMiles + " miles."); } } else { System.out.println("You now have enough fuel to travel " + milesLeft + " miles."); } }

Actualmente, cada vez que se ejecuta el bucle en el primer bloque de código, se restablece el valor de milesDriven en el segundo bloque de código. Así, cada vez que el usuario "conduce", su depósito de gasolina se rellena automáticamente. ¿Hay alguna manera de que pueda almacenar el valor de entrada de userInput para que se conserve entre bucles?

¡Gracias!

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

0

Si no quiere cambiar demasiado las cosas, una manera fácil sería simplemente acumular la entrada del usuario con otra variable y pasar ese valor al método de function en lugar de la entrada del usuario que se actualiza en cada bucle. Entonces, por ejemplo, fuera del ciclo do-while tendrías:

 int milesDriven = 0;

Luego, cada vez que el usuario proporcione una nueva entrada, agregue ese valor a las millas recorridas:

 int userInput = scanner.nextInt(); milesDriven += userInput;

Y finalmente pase ese valor al método de function en lugar de la entrada del usuario:

 parts.get(c).function(milesDriven);
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