ClassCastException异常

时间:2012-11-21 19:57:07

标签: java exception-handling

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

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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

你遇到的问题是你只能逃避,但是当你在列表上使用toString()时,它会用方括号[]括起来。当您修复它时,您会发现结果数组的大小无效,您还必须减去2(括号)。

好运,休息。请阅读一些关于Java的基本手册。