Java - Interaccion entre objeto enum y clase

 
Vista:

Interaccion entre objeto enum y clase

Publicado por Esteban (1 intervención) el 03/09/2016 23:29:38
Hola, estoy haciendo un trabajo practico para la facultad y estoy teniendo problemas con la porcion que ya viene programada, basicamente es un supermercado, estan las clases supermercado, gondola, producto y tipo de producto, mis dudas estan entre producto y tipo de producto.
TipoProducto es una clase que crea un objeto enum con distintos tipos de productos:
1
2
3
4
public enum TipoProducto
{
    Arroz, Fideos, Jabon, Perfume, Carne, Verduras
}
Mientras que en Producto, el constructor me pide tres parametros; tipo de producto (alguno de los que lista tipoproducto), marca del producto y el precio:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Producto
{
    private TipoProducto tipo;
    private String marca;
    private Double precio;
    public Producto(TipoProducto tipo, String marca, Double precio)
    {
        ;
        this.tipo = tipo;
        this.marca = marca;
        this.precio = precio;
    }
    .
    . (otros metodos)
    .
}

Mi problema es que al llamar a este constructor, no reconoce ninguno de los tipos que enlista tipoproducto, y al ser la parte que ya viene lista y no habria que modificar, me preocupa que ni siquiera se que es lo que estoy haciendo mal.
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres

Interaccion entre objeto enum y clase

Publicado por Andres (6 intervenciones) el 04/09/2016 00:06:09
No se si he entendido bien pero parece que tienes problemas usando el enum TipoProducto
Así es como yo usaría ese constructor.

1
Producto arroz = new Producto(TipoProducto.Arroz,"marca",10.5);

Si este no es tu problema pasa el código donde usas ese constructor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interaccion entre objeto enum y clase

Publicado por Esteban (4 intervenciones) el 04/09/2016 00:24:15
El problema es que no reconoce ni Arroz, ni Fideos, ni Perfume, ni las otras a la hora de ingresarlos como parametros, me da el error: cannot find symbol - variable Arroz, por eso creo que el problema esta en:
1
public Producto(TipoProducto tipo, String marca, Double precio)
Pero no se cual puede ser, tipo se declara como
1
private TipoProducto tipo;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres

Interaccion entre objeto enum y clase

Publicado por Andres (6 intervenciones) el 04/09/2016 01:11:11
pasa la clase TipoProducto entera y el código donde creas el producto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interaccion entre objeto enum y clase

Publicado por Esteban (4 intervenciones) el 04/09/2016 01:21:21
Clase TipoProducto entera:
1
2
3
4
public enum TipoProducto
{
    Arroz, Fideos, Jabon, Perfume, Carne, Verduras
}

se usa en Producto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class Producto
{
    private TipoProducto tipo;
    private String marca;
    private Double precio;
 
    /**
     * Constructor de la clase Producto
     * 
     * @param   tipo    El tipo de producto
     * @param   marca   La marca del producto
     * @param   precio  El precio del producto
     */
    public Producto(TipoProducto tipo, String marca, Double precio)
    {
        this.tipo = tipo;
        this.marca = marca;
        this.precio = precio;
    }
 
 
    /**
     * Devuelve un string con los detalles del producto
     */
    public String getDetalles()
    {
        String s =  "Tipo de Producto: " + tipo + "\n" +
                    "Marca: " + marca + "\n" +
                    "Precio: $" + precio + "\n\n";
        return s;
    }
 
    public TipoProducto getTipo()
    {
        return tipo;
    }
 
    public String getMarca()
    {
        return marca;
    }
 
    public Double getPrecio()
    {
        return precio;
    }
 
    public void setTipo(TipoProducto tipo)
    {
        this.tipo = tipo;
    }
 
    public void setMarca(String marca)
    {
        this.marca = marca;
    }
 
    public void setPrecio(Double precio)
    {
        this.precio = precio;
    }
}

usando algo como:
1
2
3
private Producto arroz1;
...
arroz1 = new Producto(TipoProducto.Arroz, "Vea", 15.5);
funciona correctamente, pero no tengo determinacion sobre el tipo de producto que quiero agregar (en el otro caso es la variable tipo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interaccion entre objeto enum y clase

Publicado por Esteban (4 intervenciones) el 04/09/2016 14:47:14
Resuelto, estaba ingresando Arroz como parametro sin haber importado el enum a la otra clase, para hacerlo mas sencillo, en lugar de importarlo simplemente doy como parametro TipoProducto.Arroz / Jabon, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar