import java.util.Scanner;
class Circle
{
public double r; public double pi= Math.PI; //定义圆的半径、Π的值
public double g; public double s;
public double Girth(double r){
double girth;
girth=2 * this.pi * r;
return girth;
}//编写计算周长的方法
public double Square(double r){
double square;
square=this.pi * r * r;
return square;
}//编写计算面积的方法
}
public class TestCircle
{
public static void main(String[] args){
Circle c= new Circle();
double g; double s;//定义一个圆的对象、所需变量
System.out.println("Please input the radius of the circle.");
Scanner input=new Scanner(System.in);
c.r=input.nextDouble();//输入圆的半径
c.g=Girth(c.r);
c.s=Square(c.r);
System.out.println("The circle's girth is"+c.g);
System.out.println("The circle's square is"+c.s);//输出圆的周长、面积
}
26行里面的Girth和27行的Square都是Circle类中的方法,由于他们都是非静态的,那么你再调用的时候就需要将Circle给new出来或者将Girth和Square方法改成静态的,我这里就
给你写出第一种方式,将26和27行的内容替换成
c.g = c.Girth(c.r); c.s = c.Square(c.r);
Girth和Square都是Circle类的方法,要通过c.Girth()、c.Square()调用
要用对象调用方法,修改如下:
import java.util.Scanner;
class Circle
{
public double r; public double pi= Math.PI; //定义圆的半径、Π的值
public double g; public double s;
public double Girth(double r){
double girth;
girth=2 * this.pi * r;
return girth;
}//编写计算周长的方法
public double Square(double r){
double square;
square=this.pi * r * r;
return square;
}//编写计算面积的方法
}
public class TestCircle
{
public static void main(String[] args){
Circle c= new Circle();
double g; double s;//定义一个圆的对象、所需变量
System.out.println("Please input the radius of the circle.");
Scanner input=new Scanner(System.in);
c.r=input.nextDouble();//输入圆的半径
c.g=c.Girth(c.r);
c.s=c.Square(c.r);
System.out.println("The circle's girth is"+c.g);
System.out.println("The circle's square is"+c.s);//输出圆的周长、面积
}
}
c.g = c.Girth(c.r); c.s = c.Square(c.r);