鱼C论坛

 找回密码
 立即注册
查看: 2762|回复: 3

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

[复制链接]
发表于 2020-9-13 12:36:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
控制台显示:错误: 找不到或无法加载主类 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));
                }
        }
       
}
最佳答案
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));
        }
    }

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-13 12:41:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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));
        }
    }

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 23:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表