[ Foro de Java ]
Hola, llevo tiempo intentando realizar este ejercicio en Netbeans, en java, pero no consigo hacerlo al 100%, podría ayudarme alguien? Gracias
"En un colegio han empezado regalando un bombón por cada cinco envoltorios. Eso significa que si compramos en la cafetería 25 bombones, en realidad tendremos 5 bombones más gracias a esos 25 envoltorios. Y además después de habernos comido esos 5 últimos nos regalarán uno más, de forma que en total nos hemos comido 31 bombones y nos ha sobrado un envoltorio, que ya no podemos canjear. Si la estrategia funciona, el instituto se plantea realizar otras campañas.
Realizar un programa para ver si las campañas del instituto son viables o no. El programa solicitará al jefe de estudios que introduzca tres datos:
-Número de envoltorios necesarios para que nos regalen más bombones
-Número de bombones a regalar en función del número anterior
-Número de bombones que se han comprado en la cafetería.
Para cada entrada de datos, se generará un mensaje por consola indicando si la campaña es inviable o si es viable, en tal caso se mostrará el total de bombones que se come el/la alumno/a y el número de envoltorios que le sobran y no puede canjear. Se considera que una campaña es inviable si se regalan bombones de forma indefinida. El programa se repetirá hasta que el jefe de estudios decida terminar."
Enseña ese 90% que sí has hecho, para ver que fallos tienes...
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bombon;
import java.util.Scanner;
/**
*
* @author rodrigo
*/
public class Bomboncitos {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int opcionenv, opcionbomreg, opcionbomcafe;
String continuar = "";
do {
System.out.println("Introduzca el número de envoltorios necesarios para que nos regalen más bombones: ");
opcionenv = teclado.nextInt();
System.out.println("Introduzca el número de bombones a regalar en función del número anterior: ");
opcionbomreg = teclado.nextInt();
System.out.println("Introduzca el número de bombones que se han comprado en la cafetería: ");
opcionbomcafe = teclado.nextInt();
int division = opcionbomcafe / opcionenv;
int resto = opcionbomcafe % opcionenv;
if (opcionbomreg<opcionenv) {
int suma = opcionbomcafe + opcionenv + 1;
resto++;
System.out.println("Esta campaña es viable: Se ha comido " + suma + " bombones y le ha sobrado " + resto + " envoltorio.");
} else {
System.out.println("Esta campaña es inviable.");
}
System.out.println("¿Desea seguir usando el programa? (si ó no)");
teclado.nextLine();
continuar = teclado.nextLine();
} while (continuar.equalsIgnoreCase("si"));
}
}
Funciona con esos datos, pero yo diría que la lógica no es correcta del todo: no siempre te regalarán un bombón extra, por lo que no debería ser
int suma = opcionbomcafe + opcionenv + 1;
Ese 1 sale de que tienes 5 nuevos bombones, y por cada 5 te dan un o extra.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)