1

Java を使用して素数のリストを保存しようとしていて、ArrayDeque に遭遇しました。これを使用する適切な機会かどうかはわかりませんが、素数の数がわからないので、容量を増やす必要があります。

このコードは、2 から 1000 までの数字を調べて、それらが素数かどうかをテストするように設計されています。

いくつかのエラーが発生しています。私はこれにかなり慣れていないので、誰かが私を正しい方向に導くことができれば、それは素晴らしいことです. あらかじめ設定された大きな容量を持つ配列を使用することは、物事を行うためのより良い方法ですか?

どうもありがとう、ベザド

import java.util.ArrayDeque;
import java.util.Deque;

public class Maths {
public static void main (String[] arg) {        

    int x = 2;
    ArrayDeque<integer> primes = new ArrayDeque<integer>(8);

    for(int count = 2; count<1000; count++) {
        if (x%count == 0) {
            System.out.println("Number is not prime"); // If it isn't a prime, it moves onto the next number.
            x = x + 1;
            count = 2;
        }

        else if (x >1000) {
            break;
        }

        else if (count == x - 1) {
            System.out.println( x + " is a prime"); //This possibility singles out prime numbers
            primes.add(x);
            x = x + 1;                              // Need to find a way to add them to memory.
            count = 2;
        }
    }
    System.out.println("Searchfinished");
    System.out.println(primes);
}
}
4

1 に答える 1

3

Java には のようなものはありませんinteger。適切なものはInteger.

import java.util.ArrayDeque;
public class MyClass {
  public static void main(String args[]) {

    int x = 2;
    Deque<Integer> primes = new ArrayDeque<Integer>(8);

    for(int count = 2; count<1000; count++) {
      if (x%count == 0) {
          System.out.println("Number is not prime"); // If it isn't a prime, it moves onto the next number.
          x = x + 1;
          count = 2;
      } else if (x > 1000) {
          break;
      } else if (count == x - 1) {
          System.out.println( x + " is a prime"); //This possibility singles out prime numbers
          primes.add(x);
          x = x + 1;                              // Need to find a way to add them to memory.
          count = 2;
      }
  }
  System.out.println("Searchfinished");

  System.out.println(primes);
 }
}
于 2013-05-10T09:19:59.833 に答える