之前对于从键盘输入几个数存入数组,但输入数量不确定的情况,常常预先申请一个较大数量的数组。如下:
int[] a = new int[1000];//动态分配了较大空间,但不能保证输入的数个数小于1000
之后发现了main()方法的参数是 "String[] args",特点是记录从键盘输入的内容,以字符串数组的形式保存,但具体输入几个元素并不确定,此处相当于将问题转嫁给了 String数组。代码如下:
int[] a = new int[args.length];
for (int i=0; i<args.length; i++) {
a[i] = Integer.parseInt(args[i]);//将字符串数组的元素转换为int类型,并存入数组
}
局限是只能用于控制台javac ,java 命令,对eclipse无效。控制台javac编译后,“java Demo 3 2 1 5 4”可以实现功能。
所以最后结论是这种情况,不能用数组,要改用其他数据结构。