王者荣耀 武则天厉害吗:初级 JAVA 程序求教

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:59:12
求1-100的素数
这个是应用程序 没有问题 能正常运行
public class Examp3_d
{
public static void main(String args[])
{
int i,j;
for (i=2;i<100;i++)
{
for(j=2;j<=i;j++)
{
if(j>(i/2))
{
System.out.print (i+" ");
break;
}
else if(i%j==0)
break;
}
}
}
}

但是这个小程序 却只能编译 运气后只能在小程序窗口见到奇怪的2个符号
也并不提示错误 求解
import java.applet.*;
import java.awt.*;
public class Examp3_c extends Applet
{
public void paint(Graphics g)
{
int i,j;
for (i=2;i<100;i++)
{
for(j=2;j<=i;j++)
{
if (j>(i/2))
{
g.drawString (i+" ",5,10);
break;
}
else if (i%j==0)
break;
}
}
}
}
我的意思是 为什么小程序和应用程序一样的方法 但是小程序不能正常输出

因为这句:g.drawString (i+" ",5,10);
drawString方法第一个参数是输出的字符串,后两个参数是输出的字符串在屏幕上的坐标。
在你的程序中,坐标一直都为(5,10),所以你每次输出的数字都是在同一个位置重复显示,所以就变成了你的所谓的奇怪的字符了。

解决方法:再初始化一个int变量n,每次找到质数的时候就n++,然后drawString的第二个参数用5*n,应该就可以解决了,试一下吧。