Revision: 32663
Updated Code
at October 1, 2010 09:14 by Physlet
Updated Code
//Importación de la API java.io para usar BufferedReader
import java.io.*;
class Container{
//Cantidad total de monos introducida por el usuario
private int monos;
//Método asignar
public void set(int totalMonos){
monos = totalMonos;
}
//Obtener cantidad de contenedores
public int getCont(int maxCant){
if(monos%maxCant == 0)
return monos/maxCant;
else
return monos/maxCant+1;
}
//Obtener cantidad de barriles, jaulas o cocos
public int getCant(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 1;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad por contenedor
if(total > maxCont)
return maxCont;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return total;
}
}
}
//Obtener cantidad de residuo de monos
public int getDif(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 0;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad permitida por contenedor
if(total > maxCont)
return (total-maxCont)*maxCant+monosDif%maxCant;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return 0;
}
}
}
//Método que trae los monos al programa principal
public int getMonos(){
return monos;
}
}
public class Monos{
public static void main(String[] x) throws IOException, InterruptedException{
//CONSTANTES => Cantidad de monos por contenedores, barriles, jaulas o cocos
final int MAX_CONT = 245, MAX_BAR = 11, MAX_JAU = 7, MAX_COCO = 1;
//CONSTANTES => Cantidad de barriles, jaulas o cocos por contenedor
final int CANT_BAR = 10, CANT_JAU = 5, CANT_COCO = 100;
//Variables a utilizar
int barril=0, jaula=0, coco=0, contenedor, monos, read, total;
//Monos por barriles, jaulas, cocos
int mbar=0, mjau=0, mco=0;
//Declaración del objeto gestion instanciando a la clase Container
Container gestion = new Container();
//Declaración del objeto tipo BufferedReader y asignación de espacio de memoria
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Mensaje de bienvenida
System.out.println("\t\t\t¡Es la hora de ordenar monitos!\n"+
"En esta aplicación deberás introducir un total de monos"+
"que desees ordenar en contenedores. Esta aplicación te dirá"+
"cuántos contenedores deberás usar para ordenar tus monos"+
"recordando que cada contenedor permite 10 barriles, 5 jaulas"+
"100 cocos. Y que cada barril permite 11 monos, cada jaula 7 monos"+
"y cada coco 1 mono.\n");
//Petición al usuario para iniciar la operación
System.out.print("¿Listo para comenzar? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
if(read == 'N'){
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
else
{
do{
//Lectura de la cantidad de monos totales
System.out.print("\n\n-----------------------\n"+
"Introduzca la cantidad de monos: ");
read = Integer.parseInt(br.readLine());
//Llamado al método asignar y enviar la variable read con la cantidad de monos
gestion.set(read);
//Asignación de la cantidad de monos
monos = gestion.getMonos();
//Cantidad de contenedores
contenedor = gestion.getCont(MAX_CONT);
//Hacer un breve delay para que se vea bonito el programa
System.out.println("\n\n-----------------------\n"+
"Procesando información... Por favor espere..");
Thread.sleep(2000);
while(monos != 0){
//Acumula cantidad de barriles
mbar += monos;
barril += gestion.getCant(monos, MAX_BAR, CANT_BAR);
//Asigna a monos la cantidad del residuo luego de depositarlos en barriles
monos = gestion.getDif(monos, MAX_BAR, CANT_BAR);
mbar -= monos;
//Acumula cantidad de jaulas
mjau += monos;
jaula += gestion.getCant(monos, MAX_JAU, CANT_JAU);
//Asigna a monos la cantidad del residuo luego de depositarlos en jaulas
monos = gestion.getDif(monos, MAX_JAU, CANT_JAU);
mjau -= monos;
//Acumula cantidad de cocos
mco += monos;
coco += gestion.getCant(monos, MAX_COCO, CANT_COCO);
//Asigna a monos la cantidad del residuo luego de depositarlos en cocos
monos = gestion.getDif(monos, MAX_COCO, CANT_COCO);
mco -= monos;
}
total = mbar + mjau + mco;
System.out.println("\n\n-----------------------\n"+
"Cantidad de contenedores: "+contenedor+"\n\n"+
"Cantidad de barriles: "+barril+"\n\tMonos por barriles: "+mbar+"\n\n"+
"Cantidad de jaulas: "+jaula+"\n\tMonos por jaulas: "+mjau+"\n\n"+
"Cantidad de cocos: "+coco+"\n\tMonos por cocos: "+mco+"\n\n"+
"Total de monos: "+total);
System.out.println("\n\n-----------------------\n"+
"¿Desea probar otra vez? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
}while(read == 'S');
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
}
}
Revision: 32662
Updated Code
at October 1, 2010 09:13 by Physlet
Updated Code
//Importación de la API java.io para usar BufferedReader
import java.io.*;
class Container{
//Cantidad total de monos introducida por el usuario
private int monos;
//Método asignar
public void set(int totalMonos){
monos = totalMonos;
}
//Obtener cantidad de contenedores
public int getCont(int maxCant){
if(monos%maxCant == 0)
return monos/maxCant;
else
return monos/maxCant+1;
}
//Obtener cantidad de barriles, jaulas o cocos
public int getCant(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 1;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad por contenedor
if(total > maxCont)
return maxCont;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return total;
}
}
}
//Obtener cantidad de residuo de monos
public int getDif(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 0;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad permitida por contenedor
if(total > maxCont)
return (total-maxCont)*maxCant+monosDif%maxCant;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return 0;
}
}
}
//Método que trae los monos al programa principal
public int getMonos(){
return monos;
}
}
public class Monos{
public static void main(String[] x) throws IOException, InterruptedException{
//CONSTANTES => Cantidad de monos por contenedores, barriles, jaulas o cocos
final int MAX_CONT = 245, MAX_BAR = 11, MAX_JAU = 7, MAX_COCO = 1;
//CONSTANTES => Cantidad de barriles, jaulas o cocos por contenedor
final int CANT_BAR = 10, CANT_JAU = 5, CANT_COCO = 100;
//Variables a utilizar
int barril=0, jaula=0, coco=0, contenedor, monos, read, total;
//Monos por barriles, jaulas, cocos
int mbar=0, mjau=0, mco=0;
//Declaración del objeto gestion instanciando a la clase Container
Container gestion = new Container();
//Declaración del objeto tipo BufferedReader y asignación de espacio de memoria
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Mensaje de bienvenida
System.out.println("\t\t\t¡Es la hora de ordenar monitos!\n"+
"En esta aplicación deberás introducir un total de monos"+
"que desees ordenar en contenedores. Esta aplicación te dirá"+
"cuántos contenedores deberás usar para ordenar tus monos"+
"recordando que cada contenedor permite 10 barriles, 5 jaulas"+
"100 cocos. Y que cada barril permite 11 monos, cada jaula 7 monos"+
"y cada coco 1 mono.\n");
//Petición al usuario para iniciar la operación
System.out.print("¿Listo para comenzar? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
if(read == 'N'){
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
else
{
do{
//Lectura de la cantidad de monos totales
System.out.print("\n\n-----------------------\n"+
"Introduzca la cantidad de monos: ");
read = Integer.parseInt(br.readLine());
//Llamado al método asignar y enviar la variable read con la cantidad de monos
gestion.set(read);
//Asignación de la cantidad de monos
monos = gestion.getMonos();
//Cantidad de contenedores
contenedor = gestion.getCont(MAX_CONT);
//Hacer un breve delay para que se vea bonito el programa
System.out.println("\n\n-----------------------\n"+
"Procesando información... Por favor espere..");
Thread.sleep(2000);
while(monos != 0){
//Acumula cantidad de barriles
mbar += monos;
barril += gestion.getCant(monos, MAX_BAR, CANT_BAR);
//Asigna a monos la cantidad del residuo luego de depositarlos en barriles
monos = gestion.getDif(monos, MAX_BAR, CANT_BAR);
mbar -= monos;
//Acumula cantidad de jaulas
mjau += monos;
jaula += gestion.getCant(monos, MAX_JAU, CANT_JAU);
//Asigna a monos la cantidad del residuo luego de depositarlos en jaulas
monos = gestion.getDif(monos, MAX_JAU, CANT_JAU);
mjau -= monos;
//Acumula cantidad de cocos
mco += monos;
coco += gestion.getCant(monos, MAX_COCO, CANT_COCO);
//Asigna a monos la cantidad del residuo luego de depositarlos en cocos
monos = gestion.getDif(monos, MAX_COCO, CANT_COCO);
mco -= monos;
}
total = mbar + mjau + mco;
System.out.println("\n\n-----------------------\n"+
"Cantidad de contenedores: "+contenedor+"\n\n"+
"Cantidad de barriles: "+barril+"\n\tMonos por barriles: "+mbar+"\n\n"+
"Cantidad de jaulas: "+jaula+"\n\tMonos por jaulas: "+mjau+"\n\n"+
"Cantidad de cocos: "+coco+"\n\tMonos por cocos: "+mco+"\n\n"+
"Total de monos: "+total);
System.out.println("\n\n-----------------------\n"+
"¿Desea probar otra vez? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
}while(read == 'S');
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
}
}
Revision: 32661
Updated Code
at October 1, 2010 09:11 by Physlet
Updated Code
//Importación de la API java.io para usar BufferedReader
import java.io.*;
class Container{
//Cantidad total de monos introducida por el usuario
private int monos;
//Método asignar
public void set(int totalMonos){
monos = totalMonos;
}
//Obtener cantidad de contenedores
public int getCont(int maxCant){
if(monos%maxCant == 0)
return monos/maxCant;
else
return monos/maxCant+1;
}
//Obtener cantidad de barriles, jaulas o cocos
public int getCant(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 1;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad por contenedor
if(total > maxCont)
return maxCont;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return total;
}
}
}
//Obtener cantidad de residuo de monos
public int getDif(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 0;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad permitida por contenedor
if(total > maxCont)
return (total-maxCont)*maxCant+monosDif%maxCant;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return 0;
}
}
}
//Método que trae los monos al programa principal
public int getMonos(){
return monos;
}
}
public class Monos{
public static void main(String[] x) throws IOException, InterruptedException{
//CONSTANTES => Cantidad de monos por contenedores, barriles, jaulas o cocos
final int MAX_CONT = 245, MAX_BAR = 11, MAX_JAU = 7, MAX_COCO = 1;
//CONSTANTES => Cantidad de barriles, jaulas o cocos por contenedor
final int CANT_BAR = 10, CANT_JAU = 5, CANT_COCO = 100;
//Variables a utilizar
int barril=0, jaula=0, coco=0, contenedor, monos, read, total;
//Monos por barriles, jaulas, cocos
int mbar=0, mjau=0, mco=0;
//Declaración del objeto gestion instanciando a la clase Container
Container gestion = new Container();
//Declaración del objeto tipo BufferedReader y asignación de espacio de memoria
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Mensaje de bienvenida
System.out.println("\t\t\t¡Es la hora de ordenar monitos!\n"+
"En esta aplicación deberás introducir un total de monos"+
"que desees ordenar en contenedores. Esta aplicación te dirá"+
"cuántos contenedores deberás usar para ordenar tus monos"+
"recordando que cada contenedor permite 10 barriles, 5 jaulas"+
"100 cocos. Y que cada barril permite 11 monos, cada jaula 7 monos"+
"y cada coco 1 mono.\n");
//Petición al usuario para iniciar la operación
System.out.print("¿Listo para comenzar? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
if(read == 'N'){
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
else
{
do{
//Lectura de la cantidad de monos totales
System.out.print("\n\n-----------------------\n"+
"Introduzca la cantidad de monos: ");
read = Integer.parseInt(br.readLine());
//Llamado al método asignar y enviar la variable read con la cantidad de monos
gestion.set(read);
//Asignación de la cantidad de monos
monos = gestion.getMonos();
//Cantidad de contenedores
contenedor = gestion.getCont(MAX_CONT);
//Hacer un breve delay para que se vea bonito el programa
System.out.println("\n\n-----------------------\n"+
"Procesando información... Por favor espere..");
Thread.sleep(2000);
while(monos != 0){
//Acumula cantidad de barriles
mbar += monos;
barril += gestion.getCant(monos, MAX_BAR, CANT_BAR);
//Asigna a monos la cantidad del residuo luego de depositarlos en barriles
monos = gestion.getDif(monos, MAX_BAR, CANT_BAR);
mbar -= monos;
//Acumula cantidad de jaulas
mjau += monos;
jaula += gestion.getCant(monos, MAX_JAU, CANT_JAU);
//Asigna a monos la cantidad del residuo luego de depositarlos en jaulas
monos = gestion.getDif(monos, MAX_JAU, CANT_JAU);
mjau -= monos;
//Acumula cantidad de cocos
mco += monos;
coco += gestion.getCant(monos, MAX_COCO, CANT_COCO);
//Asigna a monos la cantidad del residuo luego de depositarlos en cocos
monos = gestion.getDif(monos, MAX_COCO, CANT_COCO);
mco -= monos;
}
total = mbar + mjau + mco;
System.out.println("\n\n-----------------------\n"+
"Cantidad de contenedores: "+contenedor+"\n\n"+
"Cantidad de barriles: "+barril+"\n\tMonos por barriles: "+mbar+"\n\n"+
"Cantidad de jaulas: "+jaula+"\n\tMonos por jaulas: "+mjau+"\n\n"+
"Cantidad de cocos: "+coco+"\n\tMonos por cocos: "+mco+"\n\n"+
"Total de monos: "+total);
System.out.println("\n\n-----------------------\n"+
"¿Desea probar otra vez? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
}while(read == 'S');
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
}
}
Revision: 32660
Updated Code
at October 1, 2010 09:10 by Physlet
Updated Code
//Importación de la API java.io para usar BufferedReader
import java.io.*;
class Container{
//Cantidad total de monos introducida por el usuario
private int monos;
//Método asignar
public void set(int totalMonos){
monos = totalMonos;
}
//Obtener cantidad de contenedores
public int getCont(int maxCant){
if(monos%maxCant == 0)
return monos/maxCant;
else
return monos/maxCant+1;
}
//Obtener cantidad de barriles, jaulas o cocos
public int getCant(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 1;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad por contenedor
if(total > maxCont)
return maxCont;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return total;
}
}
}
//Obtener cantidad de residuo de monos
public int getDif(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 0;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad permitida por contenedor
if(total > maxCont)
return (total-maxCont)*maxCant+monosDif%maxCant;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return 0;
}
}
}
//Método que trae los monos al programa principal
public int getMonos(){
return monos;
}
}
public class Monos{
public static void main(String[] x) throws IOException, InterruptedException{
//CONSTANTES => Cantidad de monos por contenedores, barriles, jaulas o cocos
final int MAX_CONT = 245, MAX_BAR = 11, MAX_JAU = 7, MAX_COCO = 1;
//CONSTANTES => Cantidad de barriles, jaulas o cocos por contenedor
final int CANT_BAR = 10, CANT_JAU = 5, CANT_COCO = 100;
//Variables a utilizar
int barril=0, jaula=0, coco=0, contenedor, monos, read, total;
//Monos por barriles, jaulas, cocos
int mbar=0, mjau=0, mco=0;
//Declaración del objeto gestion instanciando a la clase Container
Container gestion = new Container();
//Declaración del objeto tipo BufferedReader y asignación de espacio de memoria
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Mensaje de bienvenida
System.out.println("\t\t\t¡Es la hora de ordenar monitos!\n"+
"En esta aplicación deberás introducir un total de monos"+
"que desees ordenar en contenedores. Esta aplicación te dirá"+
"cuántos contenedores deberás usar para ordenar tus monos"+
"recordando que cada contenedor permite 10 barriles, 5 jaulas"+
"100 cocos. Y que cada barril permite 11 monos, cada jaula 7 monos"+
"y cada coco 1 mono.\n");
//Petición al usuario para iniciar la operación
System.out.print("¿Listo para comenzar? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
if(read == 'N'){
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
else
{
do{
//Lectura de la cantidad de monos totales
System.out.print("\n\n-----------------------\n"+
"Introduzca la cantidad de monos: ");
read = Integer.parseInt(br.readLine());
//Llamado al método asignar y enviar la variable read con la cantidad de monos
gestion.set(read);
//Asignación de la cantidad de monos
monos = gestion.getMonos();
//Cantidad de contenedores
contenedor = gestion.getCont(MAX_CONT);
//Hacer un breve delay para que se vea bonito el programa
System.out.println("\n\n-----------------------\n"+
"Procesando información... Por favor espere..");
Thread.sleep(2000);
while(monos != 0){
//Acumula cantidad de barriles
mbar += monos;
barril += gestion.getCant(monos, MAX_BAR, CANT_BAR);
//Asigna a monos la cantidad del residuo luego de depositarlos en barriles
monos = gestion.getDif(monos, MAX_BAR, CANT_BAR);
mbar -= monos;
//Acumula cantidad de jaulas
mjau += monos;
jaula += gestion.getCant(monos, MAX_JAU, CANT_JAU);
//Asigna a monos la cantidad del residuo luego de depositarlos en jaulas
monos = gestion.getDif(monos, MAX_JAU, CANT_JAU);
mjau -= monos;
//Acumula cantidad de cocos
mco += monos;
coco += gestion.getCant(monos, MAX_COCO, CANT_COCO);
//Asigna a monos la cantidad del residuo luego de depositarlos en cocos
monos = gestion.getDif(monos, MAX_COCO, CANT_COCO);
mco -= monos;
}
total = mbar + mjau + mco;
System.out.println("\n\n-----------------------\n"+
"Cantidad de contenedores: "+contenedor+"\n\n"+
"Cantidad de barriles: "+barril+"\n\tMonos por barriles: "+mbar+"\n\n"+
"Cantidad de jaulas: "+jaula+"\n\tMonos por jaulas: "+mjau+"\n\n"+
"Cantidad de cocos: "+coco+"\n\tMonos por cocos: "+mco+"\n\n"+
"Total de monos: "+total);
System.out.println("\n\n-----------------------\n"+
"¿Desea probar otra vez? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
}while(read == 'S');
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
}
}
Revision: 32659
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 1, 2010 09:09 by Physlet
Initial Code
//Importación de la API java.io para usar BufferedReader
import java.io.*;
class Container{
//Cantidad total de monos introducida por el usuario
private int monos;
//Método asignar
public void set(int totalMonos){
monos = totalMonos;
}
//Obtener cantidad de contenedores
public int getCont(int maxCant){
if(monos%maxCant == 0)
return monos/maxCant;
else
return monos/maxCant+1;
}
//Obtener cantidad de barriles, jaulas o cocos
public int getCant(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 1;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad por contenedor
if(total > maxCont)
return maxCont;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return total;
}
}
}
//Obtener cantidad de residuo de monos
public int getDif(int monosDif, int maxCant, int maxCont){
int total;
//Si la diferencia de monos es igual a 0
if(monosDif == 0)
return 0;
else
{
//Si la cantidad de monos es menor o igual a la cantidad total
if(monosDif <= maxCant)
return 0;
//Si la cantidad de monos es mayor que la cantidad total
else
{
//Cantidad de contenedores, barriles, jaulas o cocos sin tomar en cuenta el residuo
total = monosDif/maxCant;
//Si la cantidad total es mayor que la cantidad permitida por contenedor
if(total > maxCont)
return (total-maxCont)*maxCant+monosDif%maxCant;
//Si la cantidad total es menor o igual que la cantidad por contenedor
else
return 0;
}
}
}
//Método que trae los monos al programa principal
public int getMonos(){
return monos;
}
}
public class Monos{
public static void main(String[] x) throws IOException, InterruptedException{
//CONSTANTES => Cantidad de monos por contenedores, barriles, jaulas o cocos
final int MAX_CONT = 245, MAX_BAR = 11, MAX_JAU = 7, MAX_COCO = 1;
//CONSTANTES => Cantidad de barriles, jaulas o cocos por contenedor
final int CANT_BAR = 10, CANT_JAU = 5, CANT_COCO = 100;
//Variables a utilizar
int barril=0, jaula=0, coco=0, contenedor, monos, read, total;
//Monos por barriles, jaulas, cocos
int mbar=0, mjau=0, mco=0;
//Declaración del objeto gestion instanciando a la clase Container
Container gestion = new Container();
//Declaración del objeto tipo BufferedReader y asignación de espacio de memoria
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Mensaje de bienvenida
System.out.println("\t\t\t¡Es la hora de ordenar monitos!\n"+
"En esta aplicación deberás introducir un total de monos"+
"que desees ordenar en contenedores. Esta aplicación te dirá"+
"cuántos contenedores deberás usar para ordenar tus monos"+
"recordando que cada contenedor permite 10 barriles, 5 jaulas"+
"100 cocos. Y que cada barril permite 11 monos, cada jaula 7 monos"+
"y cada coco 1 mono.\n");
//Petición al usuario para iniciar la operación
System.out.print("¿Listo para comenzar? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
if(read == 'N'){
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
else
{
do{
//Lectura de la cantidad de monos totales
System.out.print("\n\n-----------------------\n"+
"Introduzca la cantidad de monos: ");
read = Integer.parseInt(br.readLine());
//Llamado al método asignar y enviar la variable read con la cantidad de monos
gestion.set(read);
//Asignación de la cantidad de monos
monos = gestion.getMonos();
//Cantidad de contenedores
contenedor = gestion.getCont(MAX_CONT);
//Hacer un breve delay para que se vea bonito el programa
System.out.println("\n\n-----------------------\n"+
"Procesando información... Por favor espere..");
Thread.sleep(2000);
while(monos != 0){
//Acumula cantidad de barriles
mbar += monos;
barril += gestion.getCant(monos, MAX_BAR, CANT_BAR);
//Asigna a monos la cantidad del residuo luego de depositarlos en barriles
monos = gestion.getDif(monos, MAX_BAR, CANT_BAR);
mbar -= monos;
//Acumula cantidad de jaulas
mjau += monos;
jaula += gestion.getCant(monos, MAX_JAU, CANT_JAU);
//Asigna a monos la cantidad del residuo luego de depositarlos en jaulas
monos = gestion.getDif(monos, MAX_JAU, CANT_JAU);
mjau -= monos;
//Acumula cantidad de cocos
mco += monos;
coco += gestion.getCant(monos, MAX_COCO, CANT_COCO);
//Asigna a monos la cantidad del residuo luego de depositarlos en cocos
monos = gestion.getDif(monos, MAX_COCO, CANT_COCO);
mco -= monos;
}
total = mbar + mjau + mco;
System.out.println("\n\n-----------------------\n"+
"Cantidad de contenedores: "+contenedor+"\n\n"+
"Cantidad de barriles: "+barril+"\n\tMonos por barriles: "+mbar+"\n\n"+
"Cantidad de jaulas: "+jaula+"\n\tMonos por jaulas: "+mjau+"\n\n"+
"Cantidad de cocos: "+coco+"\n\tMonos por cocos: "+mco+"\n\n"+
"Total de monos: "+total);
System.out.println("\n\n-----------------------\n"+
"¿Desea probar otra vez? S/N: ");
read = Character.toUpperCase(br.read());
br.skip(1);
}while(read == 'S');
System.out.println("\n\n-----------------------\n"+
"¡Hasta la próxima!");
System.exit(0);
}
}
}
Initial URL
Initial Description
Un barril contendrá 11 monos, una jaula contendrá 7 monos y un coco contendrá 1 mono. Pida de entrada al usuario una cantidad de monos, y luego distribuya a los monos con el fin de minimizar el número de contenedores usados. En un contenedor pueden ir 10 barriles, 5 jaulas y 100 cocos.
Initial Title
Monos en contenedores
Initial Tags
Initial Language
Java