Как записать каждый вход отдельно в цикле отдельно?(Ява) - PullRequest
0 голосов
/ 19 сентября 2019

Моя проблема в том, что печатается только 5-й ввод, а остальные нет

Scanner ns = new Scanner(System.in);

int n = 0;

int i=1;  
while(i<=5)
{  
    System.out.println("enter a number");  
    n = ns.nextInt();
    i++;  
}  

System.out.println(+n);
System.out.println(+n);
System.out.println(+n);
System.out.println(+n);
System.out.println(+n);

Допустим, я набрал 1, 2, 3, 4, 5 соответственно, он должен выглядеть следующим образом


1
2
3
4
5

Но вместо этого я получаю

5
5
5
5
5

Ответы [ 3 ]

0 голосов
/ 19 сентября 2019

Пожалуйста, напечатайте номер в цикле.Смотрите код ниже:

   Scanner ns = new Scanner(System.in);
    int n = 0;

    int i=1;  
    while(i<=5)
    {  
    System.out.println("enter a number");  
    n = ns.nextInt();
    System.out.println(n);
    i++;  
    }  
0 голосов
/ 19 сентября 2019

Вы можете сохранить свои входные параметры в ArrayList

public static void main(String[] args) {
    Scanner ns = new Scanner(System.in);
    int n = 0;
    int i = 1;
    List<Integer> params = new ArrayList<>();
    while (i <= 5) {
        System.out.println("enter a number");
        n = ns.nextInt();
        params.add(n);
        i++;
    }
    for (Integer param : params) {
        System.out.println(param);
    }
}

Вывод:

1
enter a number
2
enter a number
3
enter a number
4
enter a number
5
1
2
3
4
5
0 голосов
/ 19 сентября 2019

Все входные данные печатаются, проблема в том, что цикл while устанавливает n в значение 5, а затем вы печатаете 5 пять раз.Правильный код, который вы ищете:

int n = 0;

int i=1;  
while(i<=5)
{  
  System.out.println("enter a number");  
  n = ns.nextInt();
  i++;  
  System.out.println(+n);
}
...