0

タイトルが長くて申し訳ありませんが、もっといいタイトルがあれば教えてください!

私がやっていることは、ArrayLists の ArrayList を作成し、ArrayLists を 1 つずつ追加しようとしていることです。私が持っている2 つAL<AL<I>>の s は三角形と四角形と呼ばれAL<I>s、 addToList() メソッドを介して追加しています。AL<I>呼び出された temp を適切なAL<AL<I>>. temp に問題はないようですが、メソッド figurateNumbers() 全体を実行した後、AL<AL<I>>s追加される最後の temp である [98,70] のみが含まれています。コードは以下のとおりです。

import java.util.ArrayList;
import java.util.Iterator;

    public class problem
    {
        public static ArrayList<ArrayList<Integer>> triangle = new ArrayList<ArrayList<Integer>>();
        public static ArrayList<ArrayList<Integer>> square = new ArrayList<ArrayList<Integer>>();
        public static ArrayList<Integer> temp = new ArrayList<Integer>();

        public static void figurateNumbers() 
        //Inserts into individual arraylists, numbers, all figurate numbers square : octagonal
        {
            for (int ii = 1; ii < 141; ii++) 
            {
                if ((ii * ii >= 1000) & (ii * ii < 10000))
                    addToList(ii * ii , square);
                if (((ii * ii + ii) / 2 >= 1000) & ((ii * ii + ii) / 2 < 10000))
                    addToList((ii * ii + ii) / 2 , triangle);
            }
}


    public static void addToList(int num, ArrayList<ArrayList<Integer>> list)
    //Splits the two parts of the number and inserts the arraylist into the proper arraylist
    {
        temp.clear();
        int numInt_one = Integer.parseInt(String.valueOf(num).substring(0,2));  
        int numInt_two = Integer.parseInt(String.valueOf(num).substring(2,4));  
        temp.add(numInt_one);
        temp.add(numInt_two);
        list.add(temp);
    }

    public static void main (String [] args) 
    {
        figurateNumbers();

        System.out.println(triangle.size());
        System.out.println(square.size());
    Iterator<ArrayList<Integer>> it = square.iterator();
    while(it.hasNext())
    {
        ArrayList<Integer> obj = it.next();
        System.out.println(obj);
    }
        System.out.println(triangle.get(25));
        }
}

当面の問題であろうと、これらのデータ構造の私の使用であろうと、どんな助けも大歓迎です。

4

2 に答える 2