Java - ayuda con ejercicio poo arrays

 
Vista:

ayuda con ejercicio poo arrays

Publicado por mazingerz999 (2 intervenciones) el 17/01/2020 00:42:42
tenemos una clase Almacén con los atributos nombre, número de productos, un array
productos y un array de double llamado ventas para almacenar las ventas por meses. Esta clase tiene los
siguientes métodos:
Constructor por defecto, que pide por teclado el nombre del almacen, inicializa a 0 el número de
productos, inicializa el array ventas para los meses del año con todos sus valores a 0 e inicializa el array
para 20 productos.

Necesito ayuda para lo siguiente;

Alta: comprueba si hay hueco en el array para guardar un nuevo producto. Si es así, pide por teclado los
datos del producto y lo guarda en el array si la clave no está repetida. Si la clave está repetida, no deja
hacer el alta y saca mensaje de error.

y esto es lo q e conseguido pero no me funciona:

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
public class Almacen {
   static Scanner sc=new Scanner(System.in);
 
   private double[][]ventas;
    private String nombre;
    private Producto producto[];
    private int num_productos;
 
    public Almacen() {
        System.out.println("Dime nombre del almacen");
        nombre=sc.next();
        num_productos=0;
        producto=new Producto[20];
        ventas=new double[12][20];
        for (int i = 0; i < 12; i++) {
            for (int j = 0; j < 20; j++) {
 
                ventas[i][j]=0;
            }
 
        }
    }
 
    public Almacen(double[][] ventas, String nombre, Producto[] producto, int num_productos) {
        this.ventas = ventas;
        this.nombre = nombre;
        this.producto = producto;
        this.num_productos = num_productos;
    }
 
 
    public void Alta()
    {
 
        String clave;
        System.out.println("Dime clave");
        clave=sc.next();
        String clave1;
 
        for (int i = 0; i < num_productos+1; i++) {
            System.out.println("Dime clave");
 
            producto[i]=null;
 
            if (producto[i].getClave().equalsIgnoreCase(clave)) {
                num_productos++;
 
 
            }
            else   {
                System.out.println("No se a introducido la clave");
            }
        }
 
    }


un saludo y gracias
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 pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda con ejercicio poo arrays

Publicado por pablo (239 intervenciones) el 17/01/2020 14:12:16
Hola Mazinger, una pregunta en tú codigo
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
public void Alta()
{
 
String clave;
System.out.println("Dime clave");
clave=sc.next();
String clave1;
 
for (int i = 0; i < num_productos+1; i++) {
System.out.println("Dime clave");
 
producto[i]=null;//por qué ahí tienes declarado null ahí lo que estas haciendo es poner esa posición en null
//Aquí debería de ir un if
if(producto[i] == null) {
 
 
if (producto[i].getClave().equalsIgnoreCase(clave)) {
num_productos++;
}
else {
System.out.println("No se a introducido la clave");
}
}
}
 
}
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

ayuda con ejercicio poo arrays

Publicado por mazinger (2 intervenciones) el 17/01/2020 16:39:59
creo que lo e arreglado, ahora tengo el problema d q solo me deja meter un producto

aqui te dejo el codigo

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
public void Alta()
{
 
    if (num_productos<20) {
 
 
             producto[num_productos]=new Producto();
             if (num_productos!=0) {
 
            Producto prox=new Producto();
            for (int i = 0; i < num_productos; i++) {
                if (prox.getClave().equals(producto[i].getClave())) {
                    System.out.println("Tienen la misma clave");
 
                }else{
                    producto[num_productos]=prox;
                }
            }
        }
            num_productos++;
    }else   {
        System.out.println("No se puede introducir mas productos");
    }
 
}
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 Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda con ejercicio poo arrays

Publicado por Rodrigo (623 intervenciones) el 21/01/2020 17:46:58
Tal vez cambiar El if de la linea 4 por un while?
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