例として、シーケンスインタフェースと最後のディストリビューションディジットクラスと四角シーケンスクラスが与えられました。今度は、シーケンスインターフェイスを実装する素数シーケンスを考えなければなりません。私はアルゴリズムを思いついたが、私はインターフェイスを実装するか、値を返すつもりであることに問題がある。インタフェースを実装した素数シーケンス(Java)
最終配布クラス
public class LastDigitDistribution
{
private int[] counters;
// Constructs a distribution whose counters are set to zero.
public LastDigitDistribution()
{
counters = new int[10];
}
/**
Processes values from this sequence.
@param seq the sequence from which to obtain the values
@param valuesToProcess the number of values to process
*/
public void process(Sequence seq, int valuesToProcess)
{
for (int i = 1; i <= valuesToProcess; i++)
{
int value = seq.next();
int lastDigit = value % 10;
counters[lastDigit]++;
}
}
// Displays the counter values of this distribution.
public void display()
{
for (int i = 0; i < counters.length; i++)
{
System.out.println(i + ": " + counters[i]);
}
}
}
シーケンスインタフェース
public interface Sequence
{
int next();
}
SquareSequenceクラス
public class SquareSequence implements Sequence
{
private int n;
public int next()
{
n++;
return n*n;
}
ランダム系列クラス
public class RandomSequence implements Sequence
{
public int next()
{
return (int) (Integer.MAX_VALUE * Math.random());
}
}
シーケンスのための
デモ/テスタークラス
public class SequenceDemo {
public static void main(String[] args)
{
LastDigitDistribution dist1 = new LastDigitDistribution();
dist1.process(new SquareSequence(), 100);
dist1.display();
System.out.println();
LastDigitDistribution dist2 = new LastDigitDistribution();
dist2.process(new RandomSequence(), 1000);
dist2.display();
}
}
今、私はこれは私がこれまでの素数のアルゴリズムを作ってみたものですprimesequenceクラスを導入する微れる必要があり、私はちょうど方法がわかりませんこれを実装し、このシーケンスと関連付ける必要があります。
public class SquareSequence implements Sequence
{
private int n;
public int next()
{{
for (int i = 1; i < n; i++){
int j;
for (j=2; j<i; j++){
int k = i%j;
if (k==0){
break;
}
}
if(i == j){
System.out.print(" "+i);
}
}
return n;
}
}
}
ありがとうございました!
宿題?あなたはプライムをテストする方法を知っていますか? – taskinoor
私が思いついたアルゴリズムは、あなたが定義した数の素数を印刷するので、素数をテストするコードを考え出す必要はないと思います。それは質問が私に尋ねたものではありません。 – user1069755
"アルゴリズムは、あなたが定義した数の素数を印刷します" - アルゴリズムが素数であると言うか、素数をテストしないで素数を出力するか? – taskinoor