永发信息网

急求JAVA写五角星的程序代码!

答案:1  悬赏:60  手机版
解决时间 2021-05-09 21:36
急求JAVA写五角星的程序代码!
最佳答案
import java.awt.*;
import javax.swing.*;
public class WuJiaoXing extends JPanel {
    private static final long serialVersionUID = 1L;
    private JFrame frame = null;
    private int r = 150; // 外顶点外接圆半径
    private int[] x = new int[5]; // 5个X外顶点坐标
    private int[] y = new int[5]; // 5个Y外顶点坐标
    private int[] x_ = new int[5]; // 5个X内顶点坐标
    private int[] y_ = new int[5]; // 5个Y内顶点坐标
    public WuJiaoXing() {
    this.math();
    frame = new JFrame("五角星");
    frame.getContentPane().add(this);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,500);
    frame.setLocation(200, 200);
    frame.setVisible(true);
    }
    private void math() {
    int c = 360 / 5; // 角度
    for (int i = 0; i < 5; i++) {
    x[i] = (int) (Math.cos(i * c * Math.PI / 30 - Math.PI / 2) * (r) + r);
    y[i] = (int) (Math.sin(i * c * Math.PI / 30 - Math.PI / 2) * (r) + r);
    }
    int r_ = (int) (r * Math.sin(18 * Math.PI / 180) / Math
    .sin(126 * Math.PI / 180)); // 内顶点外接圆半径
    for (int i = 0; i < 5; i++) {
    x_[i] = (int) (Math.cos((i * c + 18) * Math.PI / 30 - Math.PI / 2)
    * (r_) + r);
    y_[i] = (int) (Math.sin((i * c + 18) * Math.PI / 30 - Math.PI / 2)
    * (r_) + r);
    }
    }
    public void paint(Graphics g) {
    super.paint(g);
    g.setColor(Color.YELLOW);
    // g.setBackground(Color.RED);
    // 填充
    int[] x1 = { x[0], x[2], x_[2] };
    int[] y1 = { y[0], y[2], y_[2] };
    int[] x2 = { x[1], x[3], x_[3] };
    int[] y2 = { y[1], y[3], y_[3] };
    int[] x3 = { x[2], x[4], x_[4] };
    int[] y3 = { y[2], y[4], y_[4] };
    g.fillPolygon(x1, y1, 3);
    g.fillPolygon(x2, y2, 3);
    g.fillPolygon(x3, y3, 3);
    // 描边
    // g.setColor(Color.BLACK);
    // g.drawLine(x[0], y[0], x[2], y[2]);
    // g.drawLine(x[0], y[0], x[3], y[3]);
    // g.drawLine(x[1], y[1], x[3], y[3]);
    // g.drawLine(x[1], y[1], x[4], y[4]);
    // g.drawLine(x[2], y[2], x[4], y[4]);
    // g.drawLine(x[2], y[2], x[0], y[0]);
    }
    public static void main(String[] args) {
    new WuJiaoXing();
    }
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么样DNF游戏中能暂停
地下城召唤二十到三十级用什么装备和武器
怎么才有爱情?
大学生活讲讲
DNF有个问题一直搞不懂!权威来回答!
为什么我的电脑不能升级为SP2或SP3
数学题~做一对无盖的正方体木箱,木箱的棱长
形容青椒长势好的句子,一年级描写高粱的句子
文科和理科哪个出路多?
眼睛下面一点一点的小肉球是什么
怎么把红玫瑰培养成蓝玫瑰
热血江湖100级JN要多少历练?
DOTA里爆发力最强的是谁
什么牌子点读笔最好呢
如果你没时间陪她,而且是经常,而她常等你…
推荐资讯
11月25日有商丘到鹤壁的火车票没有?
不战而屈人之兵,的解释
龋病的最主要致龋菌是,什么是致龋菌
谁给我介绍一款游戏录像软件?
4加3可以大于7吗?
怀孕了是去医院打胎好还是买药来打好?
这样是不是我身体有问题呢?疑惑????
当当网购物最快什么时候到?
七雄争霸城池外观
QQ餐厅鲁菜高于15级加我?
第一次工业革命
容入众人,不怕它们的眼光
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?