Инициализируйте переменные в цикле - PullRequest
3 голосов
/ 20 апреля 2011

То, что я пытаюсь сделать, это создать цикл для ввода данных пользователя, преобразования его в целое число, создания переменной и сохранения целого числа в этой новой переменной.Если пользователь не вводит слово «конец», он будет продолжать делать это, пока пользователь не сделает это.У меня проблемы с созданием переменных.Я бы хотел, чтобы они были a, b, c, d, e и так далее.Остальная часть программы, которую я могу сделать, просто для этого нужно указать в правильном направлении.

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

Я бы использовал для этого массив, и кажется, что вам нужны две переменные:

String sInput;

int iInput[];

Затем в вашем цикле вы можете проверить, является ли sInput числом, а не «концом», после чего выможно проанализировать его в вашем массиве:

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

позже вы можете получить доступ к каждому элементу в массиве iInput[0], iInput[1] ...

Помните, что вы должны определить размер массиваи когда вы делаете на Java, вы не можете изменить его или сделать его больше.

Я надеюсь, что это поможет вам.

2 голосов
/ 20 апреля 2011

Если вы не знаете, сколько значений вы собираетесь получить, вам действительно нужно сохранить их в коллекции , такой как список .

Что вы собираетесь делать со значениями, когда они все введены?

1 голос
/ 20 апреля 2011

Если вы в цикле, скорее всего, вам не нужна новая переменная для каждой итерации в цикле, поэтому вместо решения, подобного

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();
  }
}

Вы, вероятно, можете жить с таким решением, как

int input;

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

обратите внимание, что решения, использующие оператор switch, являются просто оптимизацией нежелательного решения "слишком много, если".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...