Foro de elhacker.net

Programación => Java => Mensaje iniciado por: safordREC en 8 Octubre 2019, 21:03 pm



Título: necesito ayuda con un ejercicio
Publicado por: safordREC en 8 Octubre 2019, 21:03 pm
 lo que pasa es que no se como hacer un ejercicio que nos pidieron para java, el ejercicio es este:

MÁQUINA DE ALIMENTOS

Una máquina de alimentos tiene productos de tres tipos, A, B y C, que valen respectivamente $1200, $2500 y $3200. La máquina acepta y da vuelto de los pagos realizados con monedas de las siguientes denominaciones $100, $200, $500 y $1000.

Escriba un programa que pida al usuario elegir el producto y luego le pida ingresar las monedas hasta alcanzar el monto a pagar. Si el monto ingresado es mayor que el precio del producto, el programa debe entregar las monedas de vuelto.

si alguien puede hacerlo se lo agradeceria mucho. tambien me serviria para estudiar y aprenderlo. :-( :-( :huh:


Título: Re: necesito ayuda con un ejercicio
Publicado por: engel lex en 8 Octubre 2019, 21:12 pm
hola!

muestra tu progreso y donde tienes dudas, intenta hacerlo hasta donde puedas


Título: Re: esto es lo que llevo ahora
Publicado por: safordREC en 8 Octubre 2019, 21:29 pm
Código
  1. clase producto:
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class producto {
  6. Scanner teclado = new Scanner(System.in);    
  7.  
  8.    private int getA() {
  9.        return a;
  10.    }
  11.  
  12.    private void setA(int a) {
  13.        this.a = a;
  14.    }
  15.  
  16.    private int getB() {
  17.        return b;
  18.    }
  19.  
  20.    private void setB(int b) {
  21.        this.b = b;
  22.    }
  23.  
  24.    private int getC() {
  25.        return c;
  26.    }
  27.  
  28.    private void setC(int c) {
  29.        this.c = c;
  30.    }
  31.  
  32. int a=1200, b=2500, c=3200;
  33.  
  34.    private int getTipo_producto() {
  35.        return tipo_producto;
  36.    }
  37.  
  38.    private void setTipo_producto(int tipo_producto) {
  39.        this.tipo_producto = tipo_producto;
  40.    }
  41. int tipo_producto;
  42.  
  43.  
  44. public void Elegir_tipo_de_producto(){
  45.  
  46. switch (tipo_producto){
  47.    case 1:
  48.    System.out.println("escogiste el producto 1");
  49.    a=teclado.nextInt();
  50.    break;
  51.  
  52.    case 2:
  53.    System.out.println("escogiste el producto 2");
  54.    b=teclado.nextInt();
  55.    break;
  56.  
  57.    case 3:
  58.    System.out.println("escogiste el producto 3");
  59.    c=teclado.nextInt();
  60.    break;    
  61.  
  62.    default:
  63.    System.out.println("lo sentimos ese producto no lo tenemos");
  64. }
  65. }
  66.  
  67. public void Imprimir_producto(){
  68.    System.out.println("escogiste el producto 1"+a);
  69.    System.out.println("escogiste el producto 2"+b);
  70.    System.out.println("escogiste el producto 3"+c);    
  71. }
  72. }
  73.  
  74.  
  75. y en la de pago llevo nada mas esto:
  76.  
  77.  
  78.  
  79. import java.util.Scanner;
  80.  
  81. public class pago {
  82.  
  83.    public void ingresar_pago (){
  84.    int monedas[]={100,200,500,1000};
  85.    int monto;
  86.  
  87.     System.out.print("ingrese valor de moneda");
  88.     System.out.println("monedas "+monedas);
  89.    }
  90.     public void devolver_cambio (){
  91.  
  92.  
  93.  
  94.  
  95.  
  96. }
  97. }
  98.  
sinceramente no se como hacerla, ademas, tengo dudas si mi clase de producto esta bien hecha. :c


Título: Re: necesito ayuda con un ejercicio
Publicado por: ayoub20600 en 10 Octubre 2019, 10:56 am
Yo soynovato en el java, pero yo intentaría que desde la switch, case 1 poer ejemplo, llamar al método pago, y dentro del método pago pasar el valor del producto al monto
int monto = a;
luego haces el cálculo que deberías hacer y imprimes por pantalla.
No tengo el netbeans instalado desde este ordenador, sino, lo intentaría.


Título: Re: necesito ayuda con un ejercicio
Publicado por: K-YreX en 11 Octubre 2019, 01:47 am
Yo diría que la estructuración de las clases está un poco mal hecha. Una clase sirve para encapsular una serie de características... Imagina que tienes un programa en el que tienes muchos productos y cada uno tiene un código, un precio, una cantidad de unidades disponibles y una cantidad de unidades vendidas. En ese caso sí tendría sentido crear una clase <Producto> tal que así:
Código
  1. public class Producto{
  2.    private String codigo;
  3.    private float precio;
  4.    private int unidadesDisponibles;
  5.    private int unidadesVendidas;
  6.  
  7.    // metodos correspondientes...
  8. }
No sé si te han pedido que crees esas clases o lo estás haciendo así por idea tuya... :rolleyes: