PGibouin:
Tengo el siguiente código para Java (Android) en un cheque de caja de conmutación. He puesto la condición por defecto al siguiente código:
switch (value_gain_array[0]) {
case 5:
column[1][0] = "4";
column[1][1] = "3";
column[1][2] = "1";
break;
case 10:
column[1][0] = "4";
column[1][1] = "5";
column[1][2] = "1";
break;
case 50:
column[1][0] = "1";
column[1][1] = "1";
column[1][2] = "4";
break;
case 100:
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
break;
case 500:
column[1][0] = "3";
column[1][1] = "2";
column[1][2] = "2";
break;
case 1000:
column[1][0] = "4";
column[1][1] = "4";
column[1][2] = "1";
break;
case 100000:
column[1][0] = "5";
column[1][1] = "5";
column[1][2] = "3";
break;
case 222:
column[1][0] = "4";
column[1][1] = "1";
column[1][2] = "1";
break;
case 999:
column[1][0] = "4";
column[1][1] = "2";
column[1][2] = "1";
break;
default:
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) { control = true;}
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
Por desgracia la condición if del interruptor por defecto no está funcionando, incluso cuando fuerzo al control del valor que es falsa, como en el caso siguiente "235", que nunca sucede. La siguiente si el estado debería crear un bucle infinito (por supuesto, el verdadero propósito es utilizar cheque generador aleatorio en su lugar) ¿Qué estoy haciendo mal?
Gracias,
Pierre
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) control = true;
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
dunni:
Si desea establecer control
al valor true
, si el número de control no es cualquiera de los valores mencionados en su condición si, usted tiene que conectar con los valores de la lógica AND:
if (!"431".equals(control_column) && !"451".equals(control_column) && !"114".equals(control_column) && !"235".equals(control_column) && !"322".equals(control_column) && !"441".equals(control_column) &&
!"553".equals(control_column) && !"411".equals(control_column) && !"421".equals(control_column)) control = true;