hhhhc 发表于 2020-9-13 12:36:10

求助!!!实现求几何形状(矩形、正方形、圆形)的周长和面积

控制台显示:错误: 找不到或无法加载主类 text01.exe03$Circle

package text01;

                //实现求集合形状(矩形、正方形、圆形)的周长和面积
public class exe03 {
       
        public class t1{
                public float CircleArea(float Circle_r){
                        //圆形的面积
                        return (float)Math.PI*Circle_r*Circle_r;
                       
                }
                public float CirclePerimeter(float Circle_r){
                        //圆形的周长
                        return (float)Math.PI*Circle_r*Circle_r;
                }
                public float RectangArea(float Rectangle_l,float Rectangle_w){
                        //矩形的面积
                        return (float)Rectangle_l*Rectangle_w;
                }
                public float RectanglePerimeter(float Rectangle_l,float Rectangle_w){
                        //矩形的周长
                        return (float)(Rectangle_l+Rectangle_w)*2;
                }
               
                public float SquareArea(float Square_r){
                        //正方形的面积
                        return (float)Square_r*Square_r;
                }
                public float SquarePerimeter(float Square_r){
                        //正方形的周长
                        return (float)Square_r*4;
                }
                public void main(String[] args){
                        t1 t = new t1();
                        System.out.println(" "+t.CircleArea(3));
                        System.out.println(" "+t.CirclePerimeter(3));
                        System.out.println(" "+t.RectangArea(3,4));   
                        System.out.println(" "+t.RectanglePerimeter(3,4));
                        System.out.println(" "+t.SquareArea(3));
                        System.out.println(" "+t.SquarePerimeter(3));
                }
        }
       
}
{:5_111:}

小甲鱼的铁粉 发表于 2020-9-13 12:41:59

{:10_277:}

slience_缄默 发表于 2020-9-14 09:49:44

本帖最后由 slience_缄默 于 2020-9-14 10:00 编辑

可以直接把方法拆分下,main方法单独放一个,再新加一个类,一个文件下多个类只能有一个public修饰的类,main方法用static修饰才可以执行。
package text01;

//实现求集合形状(矩形、正方形、圆形)的周长和面积
public class exe03 {
      public static void main(String[] args){
            t1 t = new t1();
            System.out.println(" "+t.CircleArea(3));
            System.out.println(" "+t.CirclePerimeter(3));
            System.out.println(" "+t.RectangArea(3,4));
            System.out.println(" "+t.RectanglePerimeter(3,4));
            System.out.println(" "+t.SquareArea(3));
            System.out.println(" "+t.SquarePerimeter(3));
      }
    }
class t1{
    public float CircleArea(float Circle_r){
      //圆形的面积
      return (float)Math.PI*Circle_r*Circle_r;

    }
    public float CirclePerimeter(float Circle_r){
      //圆形的周长
      return (float)Math.PI*Circle_r*Circle_r;
    }
    public float RectangArea(float Rectangle_l,float Rectangle_w){
      //矩形的面积
      return (float)Rectangle_l*Rectangle_w;
    }
    public float RectanglePerimeter(float Rectangle_l,float Rectangle_w){
      //矩形的周长
      return (float)(Rectangle_l+Rectangle_w)*2;
    }

    public float SquareArea(float Square_r){
      //正方形的面积
      return (float)Square_r*Square_r;
    }
    public float SquarePerimeter(float Square_r){
      //正方形的周长
      return (float)Square_r*4;
    }
}

slience_缄默 发表于 2020-9-14 09:56:54

你这块代码错误的以下几点:
1、main方法必须用static修饰,为啥要用static修饰自行百度。
2、如果用static修饰了main方法,内部类必须也要用static修饰。所以代码还可以改为这么实现:
package text01;

//实现求集合形状(矩形、正方形、圆形)的周长和面积
public class exe03 {

    public static class t1{
      public float CircleArea(float Circle_r){
            //圆形的面积
            return (float)Math.PI*Circle_r*Circle_r;

      }
      public float CirclePerimeter(float Circle_r){
            //圆形的周长
            return (float)Math.PI*Circle_r*Circle_r;
      }
      public float RectangArea(float Rectangle_l,float Rectangle_w){
            //矩形的面积
            return (float)Rectangle_l*Rectangle_w;
      }
      public float RectanglePerimeter(float Rectangle_l,float Rectangle_w){
            //矩形的周长
            return (float)(Rectangle_l+Rectangle_w)*2;
      }

      public float SquareArea(float Square_r){
            //正方形的面积
            return (float)Square_r*Square_r;
      }
      public float SquarePerimeter(float Square_r){
            //正方形的周长
            return (float)Square_r*4;
      }
      public static void main(String[] args){
            t1 t = new t1();
            System.out.println(" "+t.CircleArea(3));
            System.out.println(" "+t.CirclePerimeter(3));
            System.out.println(" "+t.RectangArea(3,4));
            System.out.println(" "+t.RectanglePerimeter(3,4));
            System.out.println(" "+t.SquareArea(3));
            System.out.println(" "+t.SquarePerimeter(3));
      }
    }

}
页: [1]
查看完整版本: 求助!!!实现求几何形状(矩形、正方形、圆形)的周长和面积