2017-10-21 94 views
-1

J'ai quelques condition et dans cette condition je veux prendre l'entrée de l'utilisateur. Mais je veux aussi utiliser cette entrée en dehors de cette condition. Je déclare une variable en dehors de 'if' mais j'ai besoin de son initialisation en condition. Donc, y a-t-il un moyen d'utiliser ça en Java ou pas?Je veux utiliser la variable d'entrée qui est initialisée dans la condition 'si' à l'extérieur de cette condition

+1

quel est le problème? –

+1

C'est difficile à dire, mais il semble que vous ayez juste besoin d'initialiser la variable avant la condition if, puis de mettre à jour la variable à l'intérieur. –

Répondre

1

Vous essentiellement pouvez initialiser une primitive et l'écraser dans votre état

comme un entier

int i = 0; 
if (condition){ 
    i = userinput; 
} 

ou une chaîne

String i = ""; 
if (condition){ 
    i = userinput; 
} 
+0

MERCI .... Cela m'aide beaucoup. Je suis très confus de 3 jours à ce sujet. Et c'est si simple. –

+0

Alternativement: 'int i; if (condition) {i = utilisateurinput; } else {i = 0; } '(ou' int i = condition? userinput: 0; '). Assigner la variable une fois la conserve effectivement, ce qui signifie que vous pouvez l'utiliser dans les lambdas, les classes anonymes, etc. –

1

Vous devez initialiser la variable en dehors de votre if-statement avec une valeur par défaut. Quelle valeur aurait votre variable, si vous n'inscrivez pas votre if-statement mais que vous voulez en lire plus tard? Cela doit être déclaré. null est également possible. Ou tout simplement déclarer votre variable avant la instruction if et l'initialiser à l'intérieur du if, ainsi que dans une branche d'autre de la même instruction if:

Object test = null; 
if (condition == true) { 
test = new Object(); 
} 
System.out.println(test); 

ou

Object test; 
if (condition == true) { 
test = new Object(); 
} else { 
    test = anotherValue; 
} 
System.out.println(test); 
+0

Vous n'avez pas besoin d'écrire 'condition == true':' condition' est suffisant, plus court, et moins sujette aux erreurs. –