Java - Agregar y borrar valores a un vector en un midlet

 
Vista:
Imágen de perfil de ANDRES FERNANDO

Agregar y borrar valores a un vector en un midlet

Publicado por ANDRES FERNANDO (15 intervenciones) el 11/12/2014 00:01:47
Me podrían hacer el favor de explicarme como se ase para agregar y borrar valores a un vector con un Midlet J2ME

Soy nuevo en este tema y me gustaría seguir avanzando.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 11/12/2014 03:01:46
En algún punto puedes usar cualquiera d elos métodos:

removeAllElements()
removeElement(Object obj)
removeElementAt(int index)
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 FERNANDO

Agregar y borrar valores a un vector en un midlet

Publicado por ANDRES FERNANDO (15 intervenciones) el 11/12/2014 16:56:22
Como se ingresarían datos a un vector dentro de un ciclo for en un midlet?
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 11/12/2014 17:02:19
usa el método addElement(Onject obj) dentro del for
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 FERNANDO

Agregar y borrar valores a un vector en un midlet

Publicado por ANDRES FERNANDO (15 intervenciones) el 11/12/2014 17:46:47
Me podrias indicar cual es el error en el siguiente ejercicio.

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
if (textNig.getString()!="") {
                    int tm;
                    tm=(int)Double.parseDouble(textNig.getString());
                    nv1=(float)Double.parseDouble(textNotas.getString());
                    float bc=0;
                    float cb=0;
                    float am=0;
                    int mayor=0;
                    int menor=0;
 
 
                      Vector w = new Vector(tm);
 
 
                    for (int i= 0; i <w.size(); i++) {
 
                        w.insertElementAt(textNotas, i);
 
                        bc=w(i)+bc;
                        if (w(i)>=6) {
                            cb=cb+1;
                            Aprobados.setText("" +cb);
 
                        }if(w(i)<6){
                            am=am+1;
                            Desaprobados.setText("" +am);
 
                        }if (w(i)>w(mayor)) {
 
                            mayor=i;
 
                        }if(w(i)<w(menor)){
                            menor=i;
                        }
 
 
 
                    }
                    Promedio.setText("" + bc);
                    NMaxima.setText(""+w(mayor));
                    NMinima.setText(""+w(menor));
 
                }else{
                    Aprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
                     NMaxima.setText("ERROR!!! HAY CAMPOS VACIOS");
                      NMinima.setText("ERROR!!! HAY CAMPOS VACIOS");
                       Promedio.setText("ERROR!!! HAY CAMPOS VACIOS");
                        Desaprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
 
                }

Es para el siguiente ejercicio desarrollado en un midlet J2ME lo que quiero es ingresar un intervalo de notas por ejemplo 5 que seria el tamaño del vector para después de acuerdo a este ingresarlas por teclado al vector dentro de un ciclo for:

Escribir un algoritmo para calcular el promedio de una lista de notas de una cantidad N de alumnos (número
de notas variable), y diga los aprobados, los desaprobados, la máxima nota y la mínima. La nota mínima para
aprobar es 6.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 11/12/2014 18:16:44
//Debería ser: if(!("".equals(textNig.getString())))
if (textNig.getString() != "") {

int tm;
//Si esto es de tipo entero, podrias usar: Interger.parseInt
//tm =Integer.parseInt(textNig.getString());
tm = (int) Double.parseDouble(textNig.getString());
//Aqui podrias usar Float.parseFloat
//nv1 = Float.parseFloat(textNotas.getString());
nv1 = (float) Double.parseDouble(textNotas.getString());
//agrega f al final, ya que por defult son double las literales
float bc = 0f;
float cb = 0f;
float am = 0f;
float mayor = 0f;
float menor = 0f;

//supongo que w guarda las calificaciones. aqui w ya debería estar lleno!
//supondria que w guarda las notas de tipo Float
//Es decir, el llenado ocurre en otro punto
Vector w = new Vector(tm);

for (int i = 0; i < w.size(); i++) {
//Esto no seria aqui, supondría que ya se ingresaron
//w.insertElementAt(textNotas, i);

//Obtener el elemento en la posición i
float elemento = ((Float)w.get(i)).floatValue();
//bc guarda la suma de las notas


bc+= elemento;

if (6 <= elemento) {
//cb lleva el número de aprobados
cb++;
//pero yo no lo imprimiria sino hasta el final
//Aprobados.setText("" + cb);
}else {
//am lleva el numero de reprobados
am++;
//pero yo no lo imprimiria sino hasta el final
//Desaprobados.setText("" + am);
}

if (elemento > mayor) {
mayor = elemento; //almacena el elemento en vez del indice
}
if (elemento < menor) {
menor = elemento; //almacena el elemento en vez del indice
}
}
//ahora si, imprimir
Promedio.setText("" + bc/w.size()); //promedio
NMaxima.setText("" + mayor);
NMinima.setText("" + menor);
Aprobados.setText("" + cb);
Desaprobados.setText("" + am);

} else {
Aprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
NMaxima.setText("ERROR!!! HAY CAMPOS VACIOS");
NMinima.setText("ERROR!!! HAY CAMPOS VACIOS");
Promedio.setText("ERROR!!! HAY CAMPOS VACIOS");
Desaprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
}

Desde mi punto de vista, el llenado no va en ese código, para el codigo anterior yo supondría que el vector existe
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 FERNANDO

Agregar y borrar valores a un vector en un midlet

Publicado por ANDRES FERNANDO (15 intervenciones) el 11/12/2014 22:10:06
Como seria el codigo del llenado del Vector w = new Vector(tm); ya que deberian ser ingresado los valores por teclado.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 12/12/2014 02:45:32
mmm exacatamente como es tu interfaz de usuario?, podrías colocar el código.
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 AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 12/12/2014 15:16:39
El ejercicio que quiero hacer es el siguiente:

Escribir un algoritmo para calcular el promedio de una lista de notas de una cantidad N de alumnos (número
de notas variable), y diga los aprobados, los desaprobados, la máxima nota y la mínima. La nota mínima para
aprobar es 6.

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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
public Form getForm() {
        if (form == null) {
 
 // write pre-init user code here
form = new Form("form", new Item[]{getTextAgregarNotas(), getArreglo(), getAprobados(), getDesaprobados(), getNotamayor(), getNotaminima(), getPromedio()});
            form.addCommand(getBtnAgregar1());
            form.addCommand(getBtnNotamayor());
            form.addCommand(getBtnNotamenor());
            form.addCommand(getCalcular());
            form.addCommand(getExitCommand14());
            form.setCommandListener(this);
 // write post-init user code here
}
        return form;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: btnAgregar1 ">                                     
    /**
     * Returns an initialized instance of btnAgregar1 component.
     *
     * @return the initialized component instance
     */
    public Command getBtnAgregar1() {
        if (btnAgregar1 == null) {
 
 // write pre-init user code here
btnAgregar1 = new Command("Agregar", Command.ITEM, 0);
 // write post-init user code here
}
        return btnAgregar1;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: btnNotamayor ">                                     
    /**
     * Returns an initialized instance of btnNotamayor component.
     *
     * @return the initialized component instance
     */
    public Command getBtnNotamayor() {
        if (btnNotamayor == null) {
 
 // write pre-init user code here
btnNotamayor = new Command("NotaMayor", Command.ITEM, 0);
 // write post-init user code here
}
        return btnNotamayor;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: btnNotamenor ">                                     
    /**
     * Returns an initialized instance of btnNotamenor component.
     *
     * @return the initialized component instance
     */
    public Command getBtnNotamenor() {
        if (btnNotamenor == null) {
 
 // write pre-init user code here
btnNotamenor = new Command("NotaMenor", Command.ITEM, 0);
 // write post-init user code here
}
        return btnNotamenor;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Calcular ">                                     
    /**
     * Returns an initialized instance of Calcular component.
     *
     * @return the initialized component instance
     */
    public Command getCalcular() {
        if (Calcular == null) {
 
 // write pre-init user code here
Calcular = new Command("Calcular", Command.OK, 0);
 // write post-init user code here
}
        return Calcular;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: exitCommand14 ">                                     
    /**
     * Returns an initialized instance of exitCommand14 component.
     *
     * @return the initialized component instance
     */
    public Command getExitCommand14() {
        if (exitCommand14 == null) {
 
 // write pre-init user code here
exitCommand14 = new Command("Exit", Command.EXIT, 0);
 // write post-init user code here
}
        return exitCommand14;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: textAgregarNotas ">                                     
    /**
     * Returns an initialized instance of textAgregarNotas component.
     *
     * @return the initialized component instance
     */
    public TextField getTextAgregarNotas() {
        if (textAgregarNotas == null) {
 
 // write pre-init user code here
textAgregarNotas = new TextField("Agregar notas", null, 32, TextField.DECIMAL);
 // write post-init user code here
}
        return textAgregarNotas;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Arreglo ">                                     
    /**
     * Returns an initialized instance of Arreglo component.
     *
     * @return the initialized component instance
     */
    public StringItem getArreglo() {
        if (Arreglo == null) {
 
 // write pre-init user code here
Arreglo = new StringItem("Arreglo", null);
 // write post-init user code here
}
        return Arreglo;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Aprobados ">                                     
    /**
     * Returns an initialized instance of Aprobados component.
     *
     * @return the initialized component instance
     */
    public StringItem getAprobados() {
        if (Aprobados == null) {
 
 // write pre-init user code here
Aprobados = new StringItem("Aprobados", null);
 // write post-init user code here
}
        return Aprobados;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Desaprobados ">                                     
    /**
     * Returns an initialized instance of Desaprobados component.
     *
     * @return the initialized component instance
     */
    public StringItem getDesaprobados() {
        if (Desaprobados == null) {
 
 // write pre-init user code here
Desaprobados = new StringItem("Desaprobados", null);
 // write post-init user code here
}
        return Desaprobados;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Notamayor ">                                     
    /**
     * Returns an initialized instance of Notamayor component.
     *
     * @return the initialized component instance
     */
    public StringItem getNotamayor() {
        if (Notamayor == null) {
 
 // write pre-init user code here
Notamayor = new StringItem("Nota Mayor", null);
 // write post-init user code here
}
        return Notamayor;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Notaminima ">                                     
    /**
     * Returns an initialized instance of Notaminima component.
     *
     * @return the initialized component instance
     */
    public StringItem getNotaminima() {
        if (Notaminima == null) {
 
 // write pre-init user code here
Notaminima = new StringItem("Nota Minima", null);
 // write post-init user code here
}
        return Notaminima;
    }
//</editor-fold>                        
 
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: Promedio ">                                     
    /**
     * Returns an initialized instance of Promedio component.
     *
     * @return the initialized component instance
     */
    public StringItem getPromedio() {
        if (Promedio == null) {
 
 // write pre-init user code here
Promedio = new StringItem("Promedio", null);
 // write post-init user code here
}
        return Promedio;
    }
//</editor-fold>                        
 
    /**
     * Returns a display instance.
     *
     * @return the display instance.
     */
    public Display getDisplay() {
        return Display.getDisplay(this);
    }
 
    /**
     * Exits MIDlet.
     */
    public void exitMIDlet() {
        switchDisplayable(null, null);
        destroyApp(true);
        notifyDestroyed();
    }
 
    /**
     * Called when MIDlet is started. Checks whether the MIDlet have been
     * already started and initialize/starts or resumes the MIDlet.
     */
    public void startApp() {
        if (midletPaused) {
            resumeMIDlet();
        } else {
            initialize();
            startMIDlet();
        }
        midletPaused = false;
    }
 
    /**
     * Called when MIDlet is paused.
     */
    public void pauseApp() {
        midletPaused = true;
    }
 
    /**
     * Called to signal the MIDlet to terminate.
     *
     * @param unconditional if true, then the MIDlet has to be unconditionally
     * terminated and all resources has to be released.
     */
    public void destroyApp(boolean unconditional) {
    }
 
    private float w(TextField textNotas) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    private float w(int mayor) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
}

La idea es ingresar las notas a un vector para hallar la mayor,menor,aprobados,reprobados,promedio.
Lo que no he podido hacer es hacer que el vector reciba las notas y las vaya guardando para después realizar varias operaciones.
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
if (textAgregarNotas.getString()!=""){
          nv1 = Float.parseFloat(textAgregarNotas.getString());
 
          for (int i = 0; i < 10; i++) {
          //int i=0;
          //i=i+1;
          Vector w=new Vector();
 
             w.insertElementAt(String.valueOf(nv1),i);
             //w.addElement(String.valueOf(i));
             //Arreglo.setText("");
             if (w==null) {
                 Arreglo.setText("\n"+ w +",");
 
 
              }else{
 
                  Arreglo.setText( w +",");
 
             }
 
 
 
          }
 
 
 
 
 
 
      }else{
          Promedio.setText("ERROR!!! HAY CAMPOS VACIOS");
          Aprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
          Desaprobados.setText("ERROR!!! HAY CAMPOS VACIOS");
          Notamayor.setText("ERROR!!! HAY CAMPOS VACIOS");
          Notaminima.setText("ERROR!!! HAY CAMPOS VACIOS");
 
      }
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 12/12/2014 17:51:25
No te apures, ahora lo solucionamos
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 AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 12/12/2014 18:08:21
Ok te agradezco el interés ya que no he encontrado muchos ejemplos aplicables a midlet con vectores donde se ingresan los valores por teclado.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 12/12/2014 18:11:59
ok, aunque eso de ingresarlos por teclado, no me queda claro, yo supondria que se tiene una especie de text area y abajo un campo textfield y un boton agregar, y una vez ingresado un valor en el textfield (la nota ó calificación) se agrega al text area, y una vez que se terminen de ingresar los valores se da click en un boton calcular o algo asi y este toma todos los valosres del textarea y realiza su trabajo mostrando los calculos.
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 AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 12/12/2014 20:52:15
La idea es crear un vector con un tamaño determinado
1
2
3
nv1 = Float.parseFloat(textAgregarNotas.getString());
          float[]w;
          w=new float[10];
para despues mediante textAgregarNotas que es capturado por nv1 llenarlo de esta forma en Arreglo[5,4,8,9,5,6,...etc]
Como por ejemplo lo que muestra este vídeo solo que esta incompleto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
nv1 = Float.parseFloat(textAgregarNotas.getString());
          float[]w;
          w=new float[10];
          for (int i = 0; i <w.length; i++) {
                     w[i]=nv1;
 
                }
                     for (int i = 0; i < 10; i++) {
 
                         Arreglo.setText(w[i]+",");
 
                  }
 
               textAgregarNotas.setString("");

Lo llevo hasta aquí para ingresarle los valores pero no se como al momento de imprimirlo en Arreglo lo muestre de esta forma [1,5,4,3,6,4,9,10...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
Imágen de perfil de AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 12/12/2014 23:18:23
Gracias me ha servido de mucho tu respuesta ...no se votar para valorar tu respuesta iba a colocar 10 pero quedo en uno.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 12/12/2014 23:23:06
Esta bien, saludos
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 AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 13/12/2014 03:39:06
Una pregunta mas que versión de JME estas usando ,yo estoy utilizando linux Centos7 y Netbeans 8.1 con Sun Java Wireless Toolkit 2.5.2_01 ya que el SDK 3.4 no ha salido para Linux y he tenido problemas al momento de compilar tu ejercicio.

Me podrías pasar el código comentado para entender mejor lo que hiciste y adaptarlo ala versión del Wireless Toolkit 2.5.2_01 que uso.
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar y borrar valores a un vector en un midlet

Publicado por Andrés (340 intervenciones) el 13/12/2014 04:08:09
Mm podría ser lo que pienso, mmm crea una nueva aplicación móvil en netbeans con los valores por default, despues solo copia el midlet al midlet que te genera, no deberias tener mayor problema. Ahhh tenemos la misma versión 2.5.2_01.
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 AFAL3D

Agregar y borrar valores a un vector en un midlet

Publicado por AFAL3D (15 intervenciones) el 15/12/2014 17:04:22
Listo ya lo pude compilar solo tenia que crearlo como Midlets.java dentro del paquete que estoy creando y listo...gracias por tu ayuda...a propósito a que te dedicas?Que libros me recomiendas para profundizar mejor los conceptos.
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