你先想这道题的思路吧。
在山东等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站制作,营销型网站,成都外贸网站建设,山东网站建设费用合理。
首先打印出圆形的话就是在一个60-60这种正方形里面话个圆,你先要知道要画的点的位置对吧。算出所有的点打印出来。就是这个思路。然后是怎么算的问题了
public class SSS {
public static void main(String[] args) {
//半径
int r = 30;
for (int y = 0; y = 2 * r; y += 2) {
long x = Math.round(r - Math.sqrt(2 * r * y - y * y));
long longLength = 2 * (r - x);
for (int i = 0; i = x; i++) {
System.out.print(' ');
}
System.out.print('*');
for (int j = 0; j = longLength; j++) {
System.out.print(' ');
}
System.out.println('*');
}
}
}
import java.awt.Frame;
import java.awt.Graphics;
public class S extends Frame{
private int x;
private int y;
private boolean drawOval;//为true时绘制
//测试入口函数
public static void main(String []args)
{
new S().print();
}
//构造函数,初始化x、y坐标,设置drawOval变量为false,设置窗体大小
public S()
{
x = 200;
y = 200;
drawOval = false;
this.setSize(400,400);
this.setVisible(true);
}
public void print(){
//在调用S类实例的print方法时,画一个以属性X,Y为起点的宽高为10的圆.
drawOval = true; //设置drawOval变量为true
repaint(); //调用刷新画面方法
}
public void paint(Graphics g)
{
//为true时绘制
if(drawOval)g.fillOval(x,y,10,10);
}
}
使用java画圆要用到绘图类Graphics,下面是实例代码和运行效果:
package com.dikea.demo01;
import java.awt.*;
import javax.swing.*;
// java绘图原理
public class demo_01 extends JFrame {
MyPanel mp = null;
public static void main(String[] args) {
// TODO 自动生成的方法存根
demo_01 demo01 = new demo_01();
}
public demo_01(){
mp = new MyPanel();
this.add(mp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
// 定义一个MyPanel面板,用于绘图区域
class MyPanel extends JPanel{
//覆盖JPanel
// Graphics 是绘图的重要类,可以理解成一支画笔
public void paint(Graphics g){
// 1. 调用父类函数完成初始化任务
// 这句话不可以少
super.paint(g);
// 先画出一个圆圈
g.drawOval(100, 100, 30, 30);
}
}
代码复制进ide编程工具,运行效果如下: