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 claseString 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 necesariasstatic 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 usuarioSystem.out.println("BIENVENIDO A NUESTRA APLICACIÓN DE REGISTRO Y GESTIÓN DE VENTAS");
// hacer tal instrucciones si es distinto de falsewhile (!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áticamenteSystem.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 columnasComerciales[][] 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







