見出し画像

Java 空配列に要素を追加する(for)因数分解 配列

色々調べた結果Javaでは空配列(要素数の決まっていない)を用意して、そこへ要素を追加していく方法(メモ)

1つは、array配列を使う方法。
2つは、classを別にしてからarray配列に追加する方法。

今回は例としてユーザーから任意の数字を受け付け、その数字の約数を配列として表示するプログラムを組みます。
例えば10と入力されたら[1,2,5]という配列を表示するようにします。

Arrayを使う方法:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class practice_ex1{
    public static void main(String[] args){
        int num1 = Integer.parseInt(args[0]);
     
        Integer fac[] = {};
        List<Integer> list = new ArrayList<Integer>(Arrays.asList(fac));

        for(int i = 1; i < num1; i++){
             if(num1 % i == 0){
                list.add(i);
             }
        }
        System.out.println(list);
    }
}

Classを別にしてから配列に追加する方法:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class J0306_5 {
    private static Integer[] append(Integer[] arr, int element){
        List<Integer> list = new ArrayList<>(Arrays.asList(arr));
        list.add(element);
        return list.toArray(new Integer[0]);

    }
    public static void main(String[] args){

        int number = Integer.parseInt(System.console().readLine("Enter a number: "));
        Integer[] facnums = {};
        for(int i = 1; i < number; i++){
            if((number % i) == 0){
                facnums = append(facnums, i);       
            }
        }
        System.out.println(Arrays.toString(facnums));
    }
}

private static~のところで配列に要素を追加するための指示を組みます。
その下のpublic static~のところで空配列を用意し、
    Integer[] facnums ={};
for文とif文を組み合わせて約数の判定をし、facnumsという配列に上で作ったappend関数で配列に要素を追加しています。

以上。もし他に良い方法を見つけたら更新します。


この記事が気に入ったらサポートをしてみませんか?