如何用java计算一个圆的面积和周长?

Python019

如何用java计算一个圆的面积和周长?,第1张

一、数学公式:

圆周长=2*π*半径

面积=π*半径²

二、算法分析:

周长和面积都依赖半径,所以要先输入半径值,然后套用公式,计算周长和面积。 最终输出结果即可。

三、参考代码:

代码如下

#include "stdio.h"

#define Pi 3.14

void main()

{

float r,c,area

printf("请输入圆的半径:")

scanf("%f",&r)

c=2*Pi*r

area=Pi*r*r

printf("该圆的周长是%.2f,面积是%.2f\n",c,area)

}

//简单的做个

import java.awt.Graphics

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.Timer

public class Circle extends JFrame {

public Circle(){

super()

CirclePanel panel=new CirclePanel()

add(panel, "Center")

setSize(500, 500)

setVisible(true)

}

public static void main(String[] args) {

new Circle()

}

class CirclePanel extends JPanel{

public static final double PI=Math.PI

private int degree=0

private int axisx

private int axisy

public CirclePanel(){

setSize(500, 500)

axisx=getWidth()/2

axisy=getHeight()/2

setVisible(true)

Timer timer=new Timer(10,new TimerListener())

timer.start()

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g)

g.fillRect(axisx, axisy, 2, 2)

g.drawOval((int)(axisx-100+5), (int)(axisy-100+5), 200, 200)

g.fillOval(-(int)(100*Math.sin(PI*degree/180))+axisx,

(int)(100*Math.cos(PI*degree/180))+axisy, 10, 10)

}

class TimerListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

degree += 1

repaint()

}

}

}

}

class Circle {

private int r

public Circle(int r){

this.r=r

}

public int getr(){

return r

}

public double getArea(){

return Math.PI*r*r

}

public double getCircleLength(){

return Math.PI*2*r

}

}

public class CircleComputer{

public static void main(String []args){

Circle a=new Circle(1)

System.out.println("圆半径r= "+a.getr())

System.out.println("圆面积为:"+a.getArea())

System.out.println("圆周长为:"+a.getCircleLength())

}

}