Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2014, 15:40
Roger357
 
Fecha de Ingreso: enero-2014
Ubicación: petare
Mensajes: 5
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta problema con array dentro y fuera de un listener

Buenas y mucho gusto, soy nuevo por aqui y me gustaria compartir y recibir informacion de todos ustedes. Tengo el siguiente problema.

Declaro un array de tipo double (porcent) sin problemas pero al momento de utilizarlo dentro de un listener me dice "The final local variable porcent cannot be assigned, since it is defined in an enclosing type" .

final double[] porcent = null;
final Choice chRamo = new Choice();
chRamo.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
//double[] porcent;*****

switch (chRamo.getSelectedIndex()){
case 0:

porcent= new double[]{0.16, 0.13, 0.13};
chSubRamo.removeAll();
chSubRamo.addItem("Individual");
chSubRamo.addItem("Colectivo");
chSubRamo.addItem("Escolares");
case 1:
porcent= new double[]{0.08, 0.06};
chSubRamo.removeAll();
chSubRamo.addItem("Individual");
chSubRamo.addItem("Colectivo");
....}

Luego en un boton dependiendo de la seleccion que se realizo en el choice:

Button btnCalcular = new Button("Calcular");
btnCalcular.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

double pcobr = Double.parseDouble(tfComision.getText()) / Double.parseDouble(tfPrima.getText());
double prisk = pcobr - porcent[chSubRamo.getSelectedIndex()];


double porimp = porcent[chSubRamo.getSelectedIndex()] / pcobr * 100;
double porrisk =(prisk / pcobr) * 100; //porcentaje risk


tfPorRisk.setText(String.format( "%.2f",porrisk));
tfPorImp.setText(String.format( "%.2f",porimp));

}
});

El problema me lo da cuando le indico que me le asigne un valor al array porcent, dicho error se soliciona si declaro el array dentro del listener del choice pero en cambio me da error cuando utilizo la variable porcent en el boton calcular "porcent cannot be resolved to a variable" y no se que hacer porque o me falla por un lado o por el otro. de ante mano agradezco sus colaboraciones llevo 3 dias analizando mil y un maneras pero nada.

Última edición por Roger357; 22/01/2014 a las 06:32