2011-04-20 4 views
3

Ce que j'essaie de faire est d'avoir une boucle pour obtenir une entrée d'utilisateur, la convertir en entier, créer une variable et stocker l'entier dans cette nouvelle variable. Si l'utilisateur n'introduit pas le mot "fin", il continuera à le faire jusqu'à ce que l'utilisateur le fasse. Ce qui me dérange, c'est de créer les variables. Je voudrais juste les avoir a, b, c, d, e, et ainsi de suite. Le reste du programme que je peux faire, juste besoin pointé dans la bonne direction pour cela.Initialiser les variables dans une boucle

+4

Pouvez-vous afficher votre code actuel (non-fonctionnel) et expliquer où vous avez exactement des problèmes? – Oded

+1

Note pour les descendeurs/fermeteurs - Les questions sur les devoirs sont valides, et le PO a clairement indiqué que cela dans une de ces questions. – Oded

+1

@Oded Eh bien c'est tagged devoirs, mais il se lit toujours comme "écrivez-moi le code":/ –

Répondre

2

Si vous ne savez pas combien de valeurs vous allez obtenir, vous devez les stocker dans un Collection tel qu'un List. Qu'allez-vous faire avec les valeurs une fois qu'elles sont entrées?

1

Si vous êtes dans une boucle, les chances sont que vous n'avez pas besoin d'une nouvelle variable pour chaque itération dans la boucle, donc au lieu d'avoir une solution comme

int input1; 
int input2; 
int input3; 
int input4; 
int input5; 
for (int index = 0; index < 5; index++) { 
    if (index == 0) { 
    input1 = getInput(); 
    } 
    if (index == 1) { 
    input2 = getInput(); 
    } 
    if (index == 2) { 
    input3 = getInput(); 
    } 
    if (index == 3) { 
    input4 = getInput(); 
    } 
    if (index == 4) { 
    input5 = getInput(); 
    } 
} 

vous pouvez probablement vivre avec une solution comme

int input; 

for (int index = 0; index < 5; index++) { 
    input = getInput(); 
    ... handle input before going through next loop iteration ... 
} 

Notez que les solutions qui utilisent l'instruction switch ne sont que des optimisations de la solution "too many if" indésirable.

2

Je voudrais utiliser un tableau pour cela et il semble que vous avez besoin de deux variables:

String sInput; 

int iInput[]; 

Ensuite, dans votre boucle, vous pouvez tester pour voir si sInput est un nombre et non « fin », après quoi vous pouvez analyser à votre tableau:

iInput[index] = Integer.parseInt(sInput); 

plus tard, vous pouvez alors accéder à chaque élément du tableau iInput[0], iInput[1] ...

Attention, vous devez d efine la taille du tableau et quand vous le faites en Java, vous ne pouvez pas le changer ou le rendre plus grand.

J'espère que ça vous va.

+0

Modifié pour le formatage. – phooji

Questions connexes