在求2到100的素数是,把素数存到数组中的一些问题
package Test;public class ShuZuZhiShu {
public static void main(String[] args) {
int count = 0 ;
for (int num = 2; num <= 100; num++) {
boolean n = false ;
for (int i = 2; i <= num / 2 ; i++) {
if (num % i == 0) {
n = true ;
break ;
}
}
if(!n){
count++ ;
}
}
System.out.println(count);
int a[] = new int;
//int index = 0 ;
for (int num = 2; num <= 100; num++) {
boolean x = false ;
for (int i = 2; i <= num / 2 ; i++) {
if (num % i == 0) {
x = true ;
break ;
}
}
if(!x){
for(int index = 0 ; index < count ; index++){//此处用循环为何不行?
a = num ;
}
}
}
for(int v : a){
System.out.println(v);
}
}
} 你这个是遇到个素数就把所有数组a的元素都赋值成它。。 package PackageTest;
import java.util.Arrays;
public class ShuZu111 {
public static void main(String[] args) {
boolean flag = false;
int[] a = new int;
int j;
int k = 0;
for (int i = 2; i <= 100; i++) {
flag = false;
j = 2;
while (i % j != 0) {
j++;
if (i == j) {
flag = true;
break;
}
}
if (flag) {
a = i;
k++;
}
}
int[] x = Arrays.copyOf(a, k);
System.out.println(Arrays.toString(x));
}
}
你每次判断num是否为素数就会从0开始循环a数组,所以是把2-100最后一个素数添加到a数组中的第一个元素,建议你换种思路,你这样写看起来很乱,不便于查看或者维护
页:
[1]