Array bidimensional y Metodo añadir
Publicado por Antonio (31 intervenciones) el 26/01/2021 19:25:17
hola necesito ayuda porque estoy bloqueado con el ejercicio de clase y el metodo ingresar un comercial en un array bidimensional de 10 filas x 4 columnas. Mi problema reside en que no se como continuar con el metodo ingreso de un comercial con su cif, nombre, apellidos y trimestres (1,2,3,4). Y luego me obliga poner las constantes del ARRAY BIDIMENSIONAL FILASXCOLUMNAS como estáticas y en el ejercicio me pone que no puede ser estática.
En el ejercicio me pide realizar un ejercicio de array bidimensional de enteros de 10 x 4. Las dimensiones de las constantes no podrá ser estática. En este ejercicico en concreto no me pide hacer ArrayList con lo que solo puedo usar array bidimensional.
Tengo dos clases: Principal y Comerciales. Los atributos de la clase Comerciales son: String CIF, String nombre, String apellidos, int[] trimestres.
Descomposición del ejercicio (la información se almacena en un array):
• Array de dos dimensiones (10, 4). Los arrays no serán declarados como globales y estáticos
• La primera dimensión (comercial) y segunda dimensión (trimestre) representarán las ventas de los 10 comerciales durante los cuatro trimestres del año. Las dos dimensiones serán constantes.
• En otro vector de cadenas (array de cadena) se almacenará los 10 comerciales. String [] comerciales
• Menú con 6 opciones. Cada opción es un método independiente
• Se puede modificar cambiar el número de comerciales o el número de trimestres. Codificcar para que no se tenga que cambiar ninguna línea de código. Usar las constantes del array bidimensional como FILAS y COLUMNAS para almacenar 10 y 4.
Clase Comerciales
Clase Principal
En el ejercicio me pide realizar un ejercicio de array bidimensional de enteros de 10 x 4. Las dimensiones de las constantes no podrá ser estática. En este ejercicico en concreto no me pide hacer ArrayList con lo que solo puedo usar array bidimensional.
Tengo dos clases: Principal y Comerciales. Los atributos de la clase Comerciales son: String CIF, String nombre, String apellidos, int[] trimestres.
Descomposición del ejercicio (la información se almacena en un array):
• Array de dos dimensiones (10, 4). Los arrays no serán declarados como globales y estáticos
• La primera dimensión (comercial) y segunda dimensión (trimestre) representarán las ventas de los 10 comerciales durante los cuatro trimestres del año. Las dos dimensiones serán constantes.
• En otro vector de cadenas (array de cadena) se almacenará los 10 comerciales. String [] comerciales
• Menú con 6 opciones. Cada opción es un método independiente
• Se puede modificar cambiar el número de comerciales o el número de trimestres. Codificcar para que no se tenga que cambiar ninguna línea de código. Usar las constantes del array bidimensional como FILAS y COLUMNAS para almacenar 10 y 4.
Clase Comerciales
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
* Aplicación de gestión de ventas de comerciales
* Array bidimensional de comerciales por trimestres filas x columna
* A su vez la clase Comerciales tiene dos atributos de tipo array unidimensional
* el atributo nombreComercial[] almacena los nombres de 10 comerciales
* el atributo trimestres[] almacena el número del trimestre
*
*
*
*/
package supuesto1;
import java.util.Arrays;
/**
* Clase Comerciales que implementa la interfaz Comparable Métodos getters y
* setters Constructores vacios y con campos Metodos toString Metodos compareTo
*
* @author Antonio
*
*
*/
public class Comerciales implements Comparable<Comerciales> {
// atributos de clase
String cif;
String nombreComercial;
String apellidos;
int[] trimestres;
/**
* @return el cif
*/
public String getCif() {
return cif;
}
/**
* @return el nombre
*/
public String getNombre() {
return nombreComercial;
}
/**
* @return el apellidos
*/
public String getApellidos() {
return apellidos;
}
/**
* @return el trimestres
*/
public int[] getTrimestres() {
return trimestres;
}
/**
* @param cif el cif a establecer
*/
public void setCif(String cif) {
this.cif = cif;
}
/**
* @param nombre el nombre a establecer
*/
public void setNombre(String nombre) {
this.nombreComercial = nombre;
}
/**
* @param apellidos el apellidos a establecer
*/
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
/**
* @param trimestres el trimestres a establecer
*/
public void setTrimestres(int[] trimestres) {
this.trimestres = trimestres;
}
/**
*
*/
public Comerciales() {
super();
// TODO Esbozo de constructor generado automáticamente
}
/**
* @param cif
* @param nombre
* @param apellidos
* @param trimestres
*/
public Comerciales(String cif, String nombre, String apellidos, int[] trimestres) {
super();
this.cif = cif;
this.nombreComercial = nombre;
this.apellidos = apellidos;
this.trimestres = trimestres;
}
@Override
public String toString() {
return "Comerciales [Cif()=" + getCif() + ", Nombre()=" + getNombre() + ", Apellidos()="
+ getApellidos() + ", Trimestres()=" + Arrays.toString(getTrimestres()) + "]";
}
// añadir metodo compareTo más tarde
@Override
public int compareTo(Comerciales o) {
return 0;
}
}// fin clase Comerciales
Clase Principal
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import java.util.Scanner;
/**
* @author Antonio
*
*/
public class Principal {
// importamos las clases necesarias
static Scanner sc = new Scanner(System.in);
// constantes de las dimensiones del array10.4. EN EL ENUNCIADO PONE QUE NO PUEDE SER ESTÁTICA.
final static int FILAS = 10; // numero de comerciales
final static int COLUMNAS = 4; // numero de trimestres
public static void main(String[] args) {
boolean salir = false;
int opcion; // guardaremos la opción del usuario
System.out.println("BIENVENIDO A NUESTRA APLICACIÓN DE REGISTRO Y GESTIÓN DE VENTAS");
// hacer tal instrucciones si es distinto de false
while (!salir) {// salir es false y while ejecuta instrucciones si while es distinto de false
System.out.println("\n");
System.out.println(" 1 - Entrada de los nombres de los comerciales");
System.out.println(" 2 - Entrada de las ventas de los comerciales");
System.out.println(" 3 - Ventas totales de cada comercial");
System.out.println(" 4 - Trimestre con mayores ventas");
System.out.println(" 5 - Listado de comerciales ordenados por ventas de un trimestre");
System.out.println(" 6 - Salir\n");
try {
System.out.println("Escribe una de las opciones: ");
opcion = sc.nextInt();
switch (opcion) {
case 1:
ingresoComercial();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
salir = true;
break;
default:
System.out.println("Solo números entre 1 y 6");
}
} catch (Exception e) {
// TODO Bloque catch generado automáticamente
System.out.println("Debes insertar un número");
sc.next();
} // fin catch
} // si es distinto de salir
}// fin metodo main
private static void ingresoComercial() {
Scanner sc = new Scanner(System.in);
String cif, nombre, apellidos;
int trimestres[] = {1,2,3,4};
String[] nombreComercial; //posteriormente se almacenará el nombre del comercial en un array unidmensional de cadenas
// crear array de objetos Comerciales
// crear un array de 10 filas por 4 columnas
Comerciales[][] comercial = new Comerciales[FILAS][COLUMNAS];
for (int i = 0; i < FILAS; i++) {
System.out.println("Introduzca CIF: ");
cif = sc.nextLine();
System.out.println("Introduzca Nombre: ");
nombre = sc.nextLine();
//nombreComercial[] = nombre;
System.out.println("Introduzca Apellidos: ");
apellidos = sc.nextLine();
for(int j=0;j<4;i++) {
System.out.println("Introduzca trimestres (1,2,3,4): ");
trimestres[j] = sc.nextInt();
}
}
sc.nextLine(); // liberar la memoria
//INICIALIZAR EL CONSTRUCTOR CON LAS VARIABLES ANTERIORES
//MOSTRAR EL RESULTADO
}
}// fin clase Ventas
Valora esta pregunta


0