-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

をエスケープするだけであるという問題がありますが、リストで,使用する場合は角括弧で囲みます。それを修正すると、結果配列のサイズが無効であることがわかり、2 (括弧) を引く必要があります。toString()[]

残りの幸運を祈ります。そして、Java に関する基本的なマニュアルを読んでください。

于 2012-11-21T20:28:42.553 に答える