public class e1 {
public static void main(String[] args) {
int[]a=getSons(10);
printArray(a);
}//计算一个数因子的个数
public static int getlength(int n){
int count=0;
for(int i=1;i<n/2;i++){
if(n%i==0)
count++;
}
return count;
}//求一个数字的所有yin子,放入数组
public static int[]getSons(int n){
int []a=new int [getlength(n)];
int j=1;
for(int i=1;i<=n/2;i++){
if(n%j==0)
a[j]=i;
j++;
}
a[j]=n;//把自己放进去
return(a);
}//打印数组
public static void printArray(int[]a){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+ " ");
}
System.out.println();
}
}
/*运行后提示Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at e1.getSons(e1.java:23)
at e1.main(e1.java:6)*/
//需要怎么修改