素数に関する問題を解決していましたが、配列を使用して解決策を見つけましたが、いくつかの問題に配列リストを使用したかったのですが、そのうちの 1 つは Arraylist をよく理解することです。しかし、arraylist を使用すると結果が同じではないことがわかりました。ここに 2 つのコードがあります。
//配列の使用
import java.util.Arrays;
public class Prime {
public static void main(String[] args) {
primeNumber(100);
}
public static void primeNumber(int end) {
boolean primeNumbers[] = new boolean[end];
for (int i = 0; i < end; i++) {
primeNumbers[i] = true;
}
for (int i = 2; i < primeNumbers.length; i++) {
if (primeNumbers[i] ) {
for (int j = i+i; j < primeNumbers.length; j += i) {
primeNumbers[j]= false;
}
}
}
for (int j = 2; j < primeNumbers.length; j++) {
if (primeNumbers[j]) {
System.out.println(j);
}
}
}
}
//ArrayList の使用
import java.util.ArrayList;
public class Prime {
public static void main(String[] args) {
primeNumber(100);
}
public static void primeNumber(int end) {
ArrayList<Boolean> primeNumbers = new ArrayList<Boolean>();
for (int i = 0; i < end; i++) {
primeNumbers.add(i,true);
}
for (int i = 2; i < primeNumbers.size(); i++) {
if (primeNumbers.get(i) ) {
for (int j = i+i; j < primeNumbers.size(); j += i) {
primeNumbers.add(j, false);
}
}
}
for (int j = 2; j < primeNumbers.size(); j++) {
if (primeNumbers.get(j)) {
System.out.println(j);
}
}
}
}
Arraylist を使用して何が間違っているかを知ることはできますか? 同じ結果に arraylist を使用したい場合はどうすればよいですか?
助けてくれてありがとう。