如何分别在循环中分别记录每个输入? (Java)

时间:2019-09-19 09:50:14

标签: java input java.util.scanner

我的问题是只有第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 :(得分:0)

正在打印所有输入,问题是while循环将n设置为5的值,然后您将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);
}

答案 1 :(得分:0)

请循环打印号码。参见下面的代码:

   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++;  
    }  

答案 2 :(得分:0)

您可以将输入参数存储到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