style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

PROBLEMAS EN UN BUCLE FOR

Hola compañeros:

Tengo un método que interactura sobre un Jtable (tblTabla2). El cometido es el siguiente:
Comprueba qu el Jtable tenga un registro o varios.
Cuando hay varios registros en el Jtable, mira en la columna 9 si los nº son iguales o no
Dependiendo de si son iguales o no anotará en la columna 1 un dato que tambien está subrodinado a lo anotado en la columna 0.

El método es el siguiente:

void repasaReparto(){
igual = "SI";
// Cuenta los registros
int i = 0;
for (i = 0; i < tblTabla2.getRowCount(); i++) {

}
//Para cuando el JTabla2, tiene más de 1 registro
if (i>1) {
//Carga el valor de la fila 1, de la columna 9 (TAMAÑO) en la variable repartoS
String repartoS = "";
String repartoSotras = "";
int filasel = 0;
modelo20 = (DefaultTableModel) tblTabla2.getModel();
repartoS = (String) modelo20.getValueAt(filasel, 9);
//Compara el valor de las otras fila con la 1ª. Carga el valor de las demás filas
//(repartoSotras)y lo compara con repartoS
int i1 = 0;
for (i1 = 0; i1 < tblTabla2.getColumnCount(); i1++) {
repartoSotras = "";
repartoSotras = (String) modelo20.getValueAt(i1, 9);
//Caso de las dos variables iguales (NO HAY REPARTO)
if (repartoS.equals(repartoSotras)) {
igual = "SI";
}
//Caso de las dos variables desiguales (HAY REPARTO)
else {
igual = "NO";
break;
}
}
JOptionPane.showMessageDialog(null, "2" );
}
//Para cuando el JTabla2, tiene un registro
else{

}

JOptionPane.showMessageDialog(null, "3");

// Ahora ya sabemos si el JTable es CON/SIN REPARTO (si la variable igual = "NO"), por //tanto a renombrar el dato de la columna 1 (TRABAJO)

//Caso de HAY REPARTO
if (igual.equals("NO")) {
//Creo un bucle para capturamos la actividad en la variable va48, formo el dato del trabajo en la va49 y lo inserto en el JTabla2
for (i = 0; i < tblTabla2.getColumnCount(); i++) {
va48 = (String) modelo20.getValueAt(i, 0);
if (va48.equals("FRUTICOLA")) {
va48 = "FRUTIC.";
}
if (va48.equals("HORTICOLA")) {
va48 = "HUERTA";
}
va49 = "FUMIGAR ";
va49 = va49 + va48;
va49 = va49 + " CON REPARTO";
JOptionPane.showMessageDialog(null, "El valor de va49 es: "+va49);
tblTabla2.setValueAt(va49, i, 1);

}
}
//Caso de NO HAY REPARTO
if (igual.equals("SI")) {
//Creo un bucle para capturamos la actividad en la variable va48, formo el dato del trabajo en la va49 y lo inserto en el JTabla2
for (i = 0; i < tblTabla2.getColumnCount(); i++) {
va48 = (String) modelo20.getValueAt(i, 0);
if (va48.equals("FRUTICOLA")) {
va48 = "FRUTIC.";
}
if (va48.equals("HORTICOLA")) {
va48 = "HUERTA";
}
va49 = "FUMIGAR ";
va49 = va49 + va48;
va49 = va49 + " SIN REPARTO";
JOptionPane.showMessageDialog(null, "El valor de va49 es: "+va49);
tblTabla2.setValueAt(va49, i, 1);

}
}
}

El 1º for es para saber si tiene 1 registro o más. Entrando en el if (i>1) {..., se crean los string, String repartoS = ""; y String repartoSotras = "";. El 1º anota el valor del registro 0 y el segun carga el valor mediante el bucle for (i1 = 0; i1 < tblTabla2.getColumnCount(); i1++) {...

La variable igual, se le dá en valor de "SI" y "NO", dependiendo de si son iguales o no.

El problema surge y por más que me caliento no veo el porque, que cuando son datos iguales y por tanto la variable iguales toma el valor "SI", se corta el método despues del bucle for es como si saliera del método, no muestra ni los JoptionPane. 2
Y encambio cuando son desiguales, todo funciona correctamente.

Haber si me podeis ver donde está el error.

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Nopalin

Pon tu código entre etiquetas

Pon tu código entre etiquetas code para que nos sea fácil de leer tu situación.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">