错误
return new int[1]{shorter*k};
error: array creation with both dimension expression and initialization is illegal
return new int[1]{shorter*k};
数组静态初始化和动态初始化混用
解决办法
数组的使用分声明和初始化两部分,两者可同时进行,也可分开进行int[] array; 声明
int[] array = new int{element1,element2,element3…}; 初始化方式1
int[] array = new int[length]; 初始化方式2
数组的初始化方式分为两种:
一.静态初始化:初始化时由程序员显式指定每个数组元素的初始值;
int[] arrayName = new int[]{element1,element2,element3…}
二.动态初始化:初始化时由程序员指定数组的长度,由系统初始化每个数组元素的默认值。
int[] arrayName = new int[length];
注意:不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。