永发信息网

编写一个小应用程序求100以内的素数,错误在那呢

答案:2  悬赏:0  手机版
解决时间 2021-01-04 07:29
  • 提问者网友:凉末
  • 2021-01-03 12:30
import java.applet.*;
import java.awt.*;
import java.lang.Math.*;
public class cp2_2 extends Applet
{
public void paint(Graphics g)
{int n=100;<br/>if(n==2) g.drawString("结果:"+n,10,20);<br/>else if(n%2==0) {}
else
{
int j=(int)sqrt(n);
for(int i=2;i<=j;i++)
if(n%i==0)

if(i>j) g.drawString("结果:"+n,10,30);
}

g.setColor(Color.blue);
g.drawString("结果:"+n,10,40);
}
}

这怎么改啊,弄了好久也没弄出来,忘大家帮忙,十分感谢!
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-01-10 05:08
import java.applet.*;
import java.awt.*;
import java.lang.Math.*;
public class cp2_2 extends Applet
{
public void paint(Graphics g)
{
int[] a = new int[101];
int k=0;
for(int i=2;i<=100;i++)
a[i]=1;
for(int n=2;n<=Math.sqrt(100);n++) {
for(int j=2*n;j<=100;j++){
if(j%n==0)
a[j]=0;
}
}
for (int i=2;i<=100;i++)
{
if(a[i]==1)
g.drawString(i+"\n",10+20*i,30+20*i);
}

}
}
全部回答
  • 1楼网友:从此江山别
  • 2021-01-10 05:34
帮你改了下,正常运行了: import java.applet.*; import java.awt.*; public class cp2_2 extends Applet{ public void paint(Graphics g){ int n=100; int key=0; mark:for(int i=2;i<=n;i++){//从2~100依次检查素数 for(int j=2;j<i;j++){//验证i是否是素数 if(i!=j&&i%j==0)//如果在i不为j的情况下i能被j整除, continue mark;//则跳出此验证素数的循环,换下一个数进行验证 } key++;//如果成功找出素数,key做为计数器+1 g.drawString("结果:"+i+"是素数",10,key*12);//显示找出的素数 } g.setColor(Color.blue); g.drawString("结果:"+key+"个素数",10,(key+1)*12);//显示一共找出素数的数量 } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯