java绘制一个n边形,尖角朝上
时间: 2024-04-01 18:35:26 浏览: 21
下面是一个绘制n边形(尖角朝上)的Java代码示例:
```java
import java.awt.*;
import javax.swing.*;
public class Ngon extends JPanel {
private int n;
public Ngon(int n) {
this.n = n;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
int[] xPoints = new int[n];
int[] yPoints = new int[n];
int cx = getWidth() / 2;
int cy = getHeight() / 2;
int r = Math.min(cx, cy) - 5;
for (int i=0; i<n; i++) {
double theta = i * 2 * Math.PI / n;
xPoints[i] = cx + (int) (r * Math.sin(theta));
yPoints[i] = cy - (int) (r * Math.cos(theta));
}
g.drawPolygon(xPoints, yPoints, n);
}
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
JFrame frame = new JFrame("Ngon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Ngon ngon = new Ngon(n);
ngon.setPreferredSize(new Dimension(400, 400));
frame.getContentPane().add(ngon);
frame.pack();
frame.setVisible(true);
}
}
```
使用方法:
在命令行中输入`java Ngon n`,其中n是要绘制的n边形的边数。例如,要绘制一个六边形,可以输入`java Ngon 6`。