Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Juanse123 en 18 de Febrero 2021, 22:00
-
Hola, agradecería ayuda para resolver este ejercicio.
Elaborar un programa de java que le ayude a una empresa distribuidora de granos (lenteja, garbanzo, arveja) a acumular e imprimir la cantidad de grano que se va ingresando en cada silo. Para el desarrollo tener en cuenta lo siguiente:
1.Aplique el concepto de funciones y arreglos unidimensionales para el ejercicio
2.los costos de los granos son ingresados por el usuario
3.el silo 1 almacena garbanzo, el silo 2 almacena lenteja, el silo 3 almacena arveja
4.se debe crear un menu de opciones como se indica :
Ingresar granos
Calcular costo por tipo de grano
Calcular costo total
Terminar
Por ahora llevo esto pero no se como continuarlo
import java.util.Scanner;
public class acumuladorpunto1
{
public static void main(String[] args)
{
Scanner sn = new Scanner(System.in);
int opcion = 0; //Guardaremos la opcion del usuario
while(opcion!=9999){
System.out.println("MENU");
System.out.println("1. Ingresar granos ");
System.out.println("2. Calcular costo por tipo de grano");
System.out.println("3. Calcular costo total");
System.out.println("Salir 9999");
System.out.println("Escribe una de las opciones");
opcion = sn.nextInt();
switch(opcion){
case 1:
System.out.println("Has seleccionado la opcion 1");
break;
case 2:
System.out.println("Has seleccionado la opcion 2");
break;
case 3:
System.out.println("Has seleccionado la opcion 3");
break;
default:
}
}
}
Si me pueden ayudar a guiarme de como terminarlo agradeceria mucho ya que estoy estancado ahí y no sé si está bien, muchas gracias
-
Hola.
Necesitas unas variables para ir sumando las cantidades de grano que se vayan ingresando en el menú.
Puedes usar tres variables (lentejas, garbanzos, arvejas) o también un array de tres posiciones, que además es lo que te pide el enunciado.
Cada posición representaría un "silo" para cada tipo de grano.
Este array, yo lo declararía como static, fuera del método main(). De ese modo, será visible para todos los métodos/funciones que escribas, ya que se te pide que modules el código en varias funciones.
Puedes escribir una función para cada opción del menú, todas ellas necesitarán acceder al array de silos, por eso mejor ponerlo fuera del método main, para que esté visible para todos.
Ahí mismo pondría también el objeto Scanner, ya que las funciones también lo necesitarán.
Te dejo este código con la declaración del array y el Scanner como objetos de "ámbito global" y un boceto de como debería ser el método/función de la primera opción del menú.
Lo llamo ingresarGranos()
En ese boceto, escribo comentarios sobre los pasos que deberías seguir.
Intenta conseguirlo, y si no te sale, te ayudaremos a completarlo.
Un saludo.
public class SiloDeGranos {
static int[] silos = new int[3];
/*
* El array representa los tres silos:
* [0] --> garbanzos
* [1] --> lentejas
* [2] --> arvejas
*/
static Scanner sn = new Scanner(System.in);
public static void main(String[] args) {
int opcion = 0; //Guardaremos la opcion del usuario
while(opcion!=9999){
System.out.println("MENU");
System.out.println("1. Ingresar granos ");
System.out.println("2. Calcular costo por tipo de grano");
System.out.println("3. Calcular costo total");
System.out.println("Salir 9999");
System.out.println("Escribe una de las opciones");
opcion = sn.nextInt();
switch(opcion){
case 1:
ingresarGranos();
break;
case 2:
System.out.println("Has seleccionado la opcion 2");
break;
case 3:
System.out.println("Has seleccionado la opcion 3");
break;
default:
}
}
}
private static void ingresarGranos() {
//Preguntar tipo de grano (valor entre 1 y 3)
//Preguntar la cantidad de grano a ingresar
//Sumar en el array de silos la cantidad indicada
//La posición donde sumamos depende del tipo de grano
//ejemplo:
/*
if (posicion == 1) //Garbanzos
silos[0] = silos[0] + cantidad;
else if (posicion == 2) //Lentejas
silos[1] = silos[1] + cantidad;
else //Arvejas
silos[2] = silos[2] + cantidad;
*/
}
}
-
A vale ahora lo entiendo un poco mejor muchisimas gracias me sirve muchisimo asi lo entiendo un poco mas claramente