私は、主に要因を含む「ArrayListFunHouse」プログラムで作業しています。ArrayList =コンポジットまたは素数の検索
2つの方法があります。番号自体と1以外の各要素の要素を見つける方法と、要素が複合および/またはプライムであることを検出し、配列からすべての素数を削除する別の方法があります。私は正直にそこに何をするか見当がつかないので、私は、空の発見複合番号方式を左
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import static java.lang.System.*;
public class ArrayListFunHouse
{
public static ArrayList<Integer> getListOfFactors(int number)
{
int i=0;
ArrayList<Integer> factors = new ArrayList<Integer>();
for(i=2;i<=number-1;i++){
if(number%i==0)
factors.add(i);
}
Collections.sort(factors);
return factors;
}
public static void keepOnlyCompositeNumbers(List<Integer> nums)
{
/*
//GET HELP FOR THIS PART
*/
}
}
注:
は、ここでのメインプログラムです。インターネットから他のソリューションを試すことはできません。ここで
はランナーです:
import java.util.Scanner;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import static java.lang.System.*;
public class ArrayListFunHouseRunner
{
public static void main(String args[])
{
System.out.println(ArrayListFunHouse.getListOfFactors(9));
System.out.println(ArrayListFunHouse.getListOfFactors(23));
System.out.println(ArrayListFunHouse.getListOfFactors(50));
System.out.println(ArrayListFunHouse.getListOfFactors(100));
System.out.println(ArrayListFunHouse.getListOfFactors(762));
Integer[] nums = {2,6,8,9,10,12,13,15,17,24,55,66,78,77,79};
List<Integer> list = new ArrayList<Integer>(Arrays.asList(nums));
System.out.println(list);
ArrayListFunHouse.keepOnlyCompositeNumbers(list);
System.out.println(list);
}
}
ランナーのこの部分:
Integer[] nums = {2,6,8,9,10,12,13,15,17,24,55,66,78,77,79};
List<Integer> list = new ArrayList<Integer>(Arrays.asList(nums));
System.out.println(list);
ArrayListFunHouse.keepOnlyCompositeNumbers(list);
System.out.println(list);
は、私が持っているように、配列から素数を削除することになっている合成数の方法に依存していますすでに言った。
私はすでに最初の方法に関連するすべてを考え出しました。私が執着しているのは2番目の方法です。
アイデア 'keepOnlyCompositeNumbers'は、リストをループすることができます。各番号nに対して、' getListOfFactors'を呼び出します。次に、戻りリストが空の場合は、> = nが素数です。リストからnを取り除くことができます。 –