public class Exam
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為金鄉(xiāng)企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),金鄉(xiāng)網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
{
public static void main(String[] args)
{
Circle c=new Circle(3,4,5);
System.out.printf("圓心:(%f,%f),半徑:%f,面積:%f",c.x,c.y,c.r,c.countArea());
}
}
class Circle
{
public Circle()
{
this(0,0,0);
}
public Circle(double x,double y,double r)
{
this.x=x;
this.y=y;
this.r=r;
}
public double countArea()
{
return Math.PI*r*r;
}
/*private*/public double x,y,r;
}
/* 2D幾何圖形接口 */
public interface Shape{
//派
public static final double PI=3.14;
//獲得面積
public double getArea();
//獲得周長
public double getLength();
}
/* 圓 實(shí)現(xiàn) Shape接口 */
public class Circle implements Shape{
//構(gòu)造方法
public Circle(double radius){
if(radius=0) throw new Exception("半徑不合法。");
this.setRadius(radius);
}
private double radius = 0;
//設(shè)置半徑
public void setRadius(double radius){
this.radius = radius;
}
//獲得半徑
public double getRadius(){
return this.radius;
}
//面積
public double getArea(){
return this.radius * this.radius * Shape.PI;
}
//獲得周長
public double getLength(){
return this.radius * 2 * Shape.PI;
}
}
/*測試類*/
public class CircleTest{
public static void main(String args[]){
//實(shí)例化一個(gè)半徑為5的圓
Shape circle = new Circle(5);
//計(jì)算面積
double area = circle.getArea();
//計(jì)算周長
double length = circle.getLength();
}
}
使用java畫圓要用到繪圖類Graphics,下面是實(shí)例代碼和運(yùn)行效果:
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?自動(dòng)生成的方法存根
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);
}
}
//?定義一個(gè)MyPanel面板,用于繪圖區(qū)域
class?MyPanel?extends?JPanel{
//覆蓋JPanel
//?Graphics?是繪圖的重要類,可以理解成一支畫筆
public?void?paint(Graphics?g){
//??1.?調(diào)用父類函數(shù)完成初始化任務(wù)
//??這句話不可以少
super.paint(g);
//?先畫出一個(gè)圓圈
g.drawOval(100,?100,?30,?30);
}
}
代碼復(fù)制進(jìn)ide編程工具,運(yùn)行效果如下:
代碼如下:
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class TestSw extends JFrame { public static void main(String[] args) { new TestSw(); } public TestSw(){ super("Test"); this.setSize(new Dimension(400,300)); this.setContentPane(new Mypane()); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } class Mypane extends JPanel{ public void paint(Graphics g) { super.paint(g); g.setColor(Color.red); g.setXORMode(Color.white); g.drawArc(20, 20, 100, 100, 0, 360); ///此方法將畫一個(gè)直徑100的圓.紅色. } } }
可以通過創(chuàng)建一個(gè)圓的類完成計(jì)算圓周長和面積的功能。
假設(shè)這個(gè)圓的類名叫做Circle,因?yàn)楦鶕?jù)圓的半徑就可以求出圓的周長和面積,所以可以在這個(gè)類中定義一個(gè)半徑屬性mRadius,然后定義兩個(gè)方法getLength和getArea分別實(shí)現(xiàn)計(jì)算圓周長和面積的功能。
java語言源代碼如下:
public class Circle{
//圓的半徑
private double mRadius;
public Circle(double mRadius){
this.mRadius = mRadius;
}
//獲取圓的周長
public double getLength(){
return 2*Math.PI*mRadius;
}
//獲取圓的面積
public double getArea(){
return Math.PI*mRadius*mRadius;
}
}
//注:由于測試類只是調(diào)用Circle類的方法,功能很簡單,便沒有寫測試類。