我编写了一个有一些转换错误的方法:
public class Factor {
public static int[] findFactors(ArrayList<Integer> nums){
ArrayList<Integer> factors= new ArrayList();
for(Integer i=new Integer(0);i<nums.size();i++) {
System.out.println(nums.get(i));
for(int j=0;j<nums.get(i);j++) {
if (nums.get(i) %j==0) {
factors.add(j);
}
}
}
int ct=0;
String factorString= factors.toString();
char[] charArray= factorString.toCharArray();
int[] factorArray= new int[(charArray.length+1)/2];
for(int a=0;a<charArray.length;a++) {
if(charArray[a]==',') {
continue;
} else {
String s= Character.toString(charArray[a]);
factorArray[ct]=Integer.parseInt(s);
ct++;
}
}
return factorArray;
}
}
任何帮助将不胜感激
答案 0 :(得分:1)
你遇到的问题是你只能逃避,
但是当你在列表上使用toString()
时,它会用方括号[]
括起来。当您修复它时,您会发现结果数组的大小无效,您还必须减去2(括号)。
好运,休息。请阅读一些关于Java的基本手册。