2010-04-14 31 views
0

En Java, vous font parfois quelque chose comme ceci:Déclaration des variables pour la portée limitée à la tête de la boucle

for (int a = 1, b = 2; b < high;) { 
    if (b % 2 == 0) { 
     result += b; 
    } 

    int tmp = b; 
    b  = a + b; 
    a  = tmp; 
} 

Ici, j'ai utilisé une boucle au lieu d'une boucle while pour limiter la portée d'une et B. Mais comment puis-je y parvenir en JavaFX?

La boucle for ne semble pas offrir cette possibilité. Dois-je utiliser une boucle while?

Répondre

1

Vous pouvez utiliser l'astuce Java de blocs anonymes:

var high = 10; 

{ 
    var a = 0; 
    for (b in [1..high-1]) { 
     // this is fine 
     println("{a}"); 
    } 
} 
// won't compile here 
//println("{a}"); 

Les expressions sont même type dans JavaFX mais avec ces expressions vous obtiendrez une double boucle. Selon ce doc.

+0

Parfait, n'a pas pensé à utiliser un bloc, thx. – helpermethod