情况分析
我们常常发现题目需要我们输入的是不定数目,但Java的数组是固定的,要用字符串有太麻烦,而且不安全那么我们就要用数组扩容的方法,
代码
private static int[] nPrint() {
Scanner input = new Scanner(System.in);
int[] arr = new int[1];
System.out.print("Enter numbers:");
for (int i = 0;; i++) {
arr[i] = input.nextInt();
if (arr[i] == 0)
break;
arr = newArr(arr);
}
return arr;
}
private static int[] newArr(int[] oldArr) {
int newLength = oldArr.length + 1;
int[] _newArr = new int[newLength];
for (int i = 0; i < oldArr.length; i++) {
_newArr[i] = oldArr[i];
}
return _newArr;
}
分析
这里需要输入的是如同1 2 3 4 5 7 6 。。。。的数字 ,但当写到0时结束,这里加一个数组扩容的办法,可以满足需求。