Java的一维数组动态赋值

import java.util.* ;
class Main {
public static void main(String[] args) {

Scanner p= new Scanner(System.in);

int[] num=new int[5];
for (int i=0;i<num.length;i++){
num[i]=p.nextInt();
//这里的循环不是自动循环吗,
//难道它循环一次
//后还要等我输入,再进入下一个循环
}

for(int i=0;i<num.length;i++)
System.out.print(num[i]);

}
}

肯定的啊,本身就是从键盘输入,套在for循环中,就需要连续输入循环的次数。

for (int i=0;i<num.length;i++){
  num[i]=p.nextInt();
}

p.nextInt();会堵塞当前进程,只有输入后,才会往下执行。
输入多次,之间可以用空格隔开或者回车。
如果只想输入一次,那么数组中的元素值就是同一个了。
int number= p.nextInt();

for (int i=0;i<num.length;i++){
  num[i]=number;
}

p.nextInt() 是阻塞的,所以会等待

你可以用空格隔开 一次输入5个
再回车 啊

输入会阻塞