用java写一个五角星 要求详细过程,都有注释。

 我来答
chao123zxc
推荐于2016-12-02 · TA获得超过220个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:138万
展开全部
import java.applet.*;
import java.awt.*;

public class Wjx extends java.applet.Applet implements Runnable{
Thread PaintThread;
public void init() {
}
public void start(){
PaintThread=new Thread(this);
PaintThread.start();
}
public void stop(){
PaintThread=null;
}
public void paint(Graphics g){
//变量定义及初始化
int x[], y[], ox, oy, i, j, R, r, w, h;
double a, inca, cura;
Color c;
int cr, cg, cb;

inca=2 * Math.PI / 5;
x=new int[10];
y=new int[10];
w=getSize().width;
h=getSize().height;

//五角星
for (i=0; i<50; i++){

//随机五角星特征
ox=(int)(Math.random() * w);
oy=(int)(Math.random() * w);
R=(int)(Math.random() * 50);
r=(int)(R / 2);
a=(int)(Math.random() * 2 * Math.PI / 5);

//计算顶点数据
for(j=0; j<10; j+=2){
cura=a + inca * (j / 2);
x[j]=ox + (int)(R * Math.sin(cura));
y[j]=oy + (int)(R * Math.cos(cura));

cura=cura + inca / 2;
x[j+1]=ox + (int)(r * Math.sin(cura));
y[j+1]=oy + (int)(r * Math.cos(cura));
}

cr=(int)(Math.random() * 255);
cg=(int)(Math.random() * 255);
cb=(int)(Math.random() * 255);
c=new Color(cr, cg, cb);

//画出五角星
g.setColor(c);
g.fillPolygon(x, y, 10);

}
}
public void run() {
while(PaintThread!=null){
repaint();
try{
Thread.sleep(125);
}
catch(InterruptedException E){ }
}
}
}
试试
追问
我要的是自己直接定义出坐标点的,有吗?
追答
没。。。
你到著名的论坛上看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式