Próbuję utworzyć float[] w zależności od wyboru użytkownika. W poniższym kodzie zmienna widths nie jest rozpoznawana poza blokiem if. Jak mogę dynamicznie utworzyć float[] lub dołączyć float[]?

if(!dangerCheckBox.isSelected()){
    float[] widths = {100, 250, 70};
} else {
    float[] widths = {100, 250, 70, 70};
}
0
Chris Shaw 20 luty 2012, 13:48

3 odpowiedzi

Najlepsza odpowiedź

Po prostu połóż to na zewnątrz.

    float[] widths;        

    if(!dangerCheckBox.isSelected()){
        widths = new float[] {100, 250, 70};
    } else {
        widths = new float[] {100, 250, 70, 70};
    }
5
adarshr 20 luty 2012, 13:50

Umieść deklarację poza blokiem: float[] widths;, a następnie przypisz do widths wewnątrz bloków.

2
Sasha Goldshtein 20 luty 2012, 13:49

Najpierw utwórz tę tablicę za pomocą new . Następnie przypisz swoje liczby zmiennoprzecinkowe.

I jeszcze inne rzeczy, które twoja tablica zmiennoprzecinkowa deklaruje wewnątrz tego bloku if. Zadeklaruj tę tablicę zmiennoprzecinkową poza tym blokiem.

float[] widths = null;

 if(!dangerCheckBox.isSelected()){
         widths = new float[]{100, 250, 70};
    } else {
         widths = new float[]{100, 250, 70, 70};
    }
1
Kushan 10 październik 2016, 13:06