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関数で配列に要素を追加しています。
以上。もし他に良い方法を見つけたら更新します。
この記事が気に入ったらサポートをしてみませんか?