как изменить цикл в коде на цикл while? - PullRequest
0 голосов
/ 06 апреля 2019

Я устанавливаю программу чата. Подскажите пожалуйста как поменять цикл for в коде и цикл while в коде.

Я пробовал:

int j = 0;
while(j<numinputs()){
...
j++;
}

...

String[] inputs;
inputs = new String[numinputs];
int i = 0;
while (i < numinputs) {
    inputs[i] = JOptionPane.showInputDialog(null, "Please enter key word " + (i + 1) + " ");
    if (inputs[i].contains("?") || inputs[i].isEmpty()) {
        JOptionPane.showMessageDialog(null, "Invalid Response");
    } else
        i = i + 1;
}
System.out.println(Arrays.toString(inputs));
for (int j = 0; j < numinputs; j++) {
    String search = JOptionPane.showInputDialog("Tell me more about" + " " + inputs[j]);
    System.out.println(search);
    if (search.contains("exit")) {
        System.exit(0);
    }
}

}

Вот код, который я пытаюсь изменить:

inputs = new String[numinputs];
int i = 0;
while (i < numinputs) {
    inputs[i] = JOptionPane.showInputDialog(null, "Please
System.out.println(Arrays.toString(inputs));
for (int j = 0; j < numinputs; j++) {

Ответы [ 2 ]

2 голосов
/ 06 апреля 2019

Мы можем попробовать следующую логику:

int j = 0;
while (j < numinputs) {
    String search = JOptionPane.showInputDialog("Tell me more about" + " " + inputs[j]);
    System.out.println(search);
    if (search.contains("exit")) {
        System.exit(0);
    }
    ++j;
}

Вышеприведенный цикл должен быть логически идентичен циклу for, который у вас есть в данный момент. Разница заключается в том, что фиктивный переменный счетчик цикла j определен вне цикла while, а также шаг приращения выполняется отдельной строкой в ​​цикле.

0 голосов
/ 06 апреля 2019

переложить это

    int j = 0;
    while (j < numinputs) {
      String search = JOptionPane.showInputDialog("Tell me more about" + " " + inputs[j]);
      System.out.println(search);
      if (search.contains("exit")) {
      System.exit(0);
      }
      ++j;
   } 

В цикле for и в то время как оба они одинаковы ...

В цикле for все три аргумента (инициализация; решение; inc / dec) находятся в одной строке.в цикле «В то время как» вы должны разделить все три аргумента.

Но логически для & while одинаковы ..

Надеюсь, это поможет вам ..

продолжайте учиться

Вы можете найти лучшие различия по этой ссылке

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