java 新手问题 创建方法找不到符号

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);