-4

我写了一个有一些转换错误的方法:

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;
    }
}

任何帮助,将不胜感激

4

1 回答 1

1

您遇到的问题是您只能转义,,但是当您toString()在 List 上使用它时,它会被括在方括号[]中。当您修复它时,您会发现结果数组的大小无效,您还必须减去 2(括号)。

祝你好运。请阅读一些关于 Java 的基本手册。

于 2012-11-21T20:28:42.553 回答