日期:2014-05-18  浏览次数:20719 次

新手 求助。谢谢帮忙

public static boolean m2(int a,int j)

if(a%j==0)
{
return false;
}
else
return true;
}



public static void m1(int a)//i是不是素数。是就打印
{   int sum=0;
  for(int j=2;j<a;j++)
  {
  if(m2(a,j))
    {
  sum=sum+j;
   System.out.println(sum);
    }
 }
}
public static void main(String[] args) {
int a =2;
int b =100;

    for(int i=a;i<b;i++)// i  表示 a到b之间的数
{
   
m1(i);
 
}
求2-100之间素数之和以及有多少个。。。。。。
请大神看看有没有错的地方 我试了好多遍 还是做不出正确答案。

------解决方案--------------------
class Sushu
{
public static void main(String args[])
{
int i, j;
for (i = 1; i <= 100; i++)
{
for (j = 2; j < i; j++)

if (i % j== 0) break;
if(j<i)
continue;

else

System.out.print(i);

}
}

------解决方案--------------------
顺着你的思路改了下。。。
自己理解吧。。。

static int sum = 0;

public static boolean m2(int a, int j) {
if (a % j == 0) {
return false;
} else
return true;
}

public static void m1(int a)// i是不是素数。是就打印
{

for (int j = 2; j < a; j++) {
if (!m2(a, j)) {
return;
}
}
sum += a;
System.out.println(a);
}

public static void main(String[] args) {
int a = 2;
int b = 100;

for (int i = a; i < b; i++)// i 表示 a到b之间的数
{
m1(i);
}
System.out.println(sum);

}