Colas
Publicado por oscar (6 intervenciones) el 11/02/2017 16:42:29
Buenos dias, tengo una consulta en un codigo que estoy realizando. El caso es el siguiente, tengo una cola de tamaño "n" el cual yo inserto, cuando inserto el valor este debe ser doble, estar en 2 posiciones. Este es mi codigo.
clasecola.java:
este es un jframe:
cuando lo ejecuto, primero creo una cola de 4 elementos
como ven, primero se crea el doble 10, pero cuando inserto 20, los 2 valores de 10 se reducen a uno, quisiera saber en que estoy errando.
Muchas gracias
clasecola.java:
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
package packageClases;
//metodos funcion, constructo
public class ClaseCola {
private int Cola[];
private int first,last;
public void creaCola(int tamaño){
Cola=new int[tamaño];
first=-1; last=-1;
public void insertaValorDoble(int valor){
int indMax=Cola.length-1;
if(last < indMax){
last=last+1;
Cola[last]=valor;
Cola[last-1]=valor;
}
if(first==-1){
first=0;
}
}
public String muestraArreglo(){
String cadena="";
if(first>-1){
for(int i=first; i<=last; i++){
cadena=cadena+Cola[i]+" ";
}
}
else
cadena="Cola esta vacia";
return cadena+"\n";
}
}
este es un jframe:
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
package applicationcola2;
import packageClases.ClaseCola;
public class FrameCola extends javax.swing.JFrame {
ClaseCola oCola;
public FrameCola() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
oCola=new ClaseCola();
int n=Integer.parseInt(jTextField1.getText());
oCola.creaCola(n);
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
jTextArea1.append(oCola.muestraArreglo());
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
int valor=Integer.parseInt(jTextField1.getText());
oCola.insertaValorDoble(valor);
jTextArea1.append(oCola.muestraArreglo());
}
cuando lo ejecuto, primero creo una cola de 4 elementos
como ven, primero se crea el doble 10, pero cuando inserto 20, los 2 valores de 10 se reducen a uno, quisiera saber en que estoy errando.
Muchas gracias
Valora esta pregunta
0