JAVA代码,编译通不过(50分)

publicinterfaceIShape{publicstaticfinaldoublePI=3.14;publicabstractdoublegetCir();//返... public interface IShape{
public static final double PI=3.14;
public abstract double getCir(); //返回几何图形的周长
public abstract double getArea(); //返回几何图形的面积
}
public class Point{
public double x;
public doulbe y;

public Point(){
this(0,0);
}

public Point(int x,int y){
this.x=x;
this.x=y;
}}
class Circle implements IShape{
public double r,x,y;

public Circle(Point p,double r){
p.x=x;
p.y=y;
this.r=r;
}
public Circle(double r){
this((0,0),12));}
public double getArea(){
return PI*r*r;
}
public double getCircumference(){
return 2*PI*r;
}}
class Triangle implements IShape{
public double a;
public double b;
public double c;
public Triangle(double a, double b, double c) {
this.a=a;
this.b=b;
this.c=c;}
public Triangle(int a){
this(a,a,a);
}
public Triangle(){
this(3,4,5);
}

public double getArea(){
if ( (a>0 && b>0 && c>0) || (a+b>c && a+c>b && c+b>a)
reutrn 0;
else
{
double p=(a+b+c)/2;
return Math.pow(p*(p-a)*(p-b)*(p-c),0.5);} }
public double getCircumference(){
return this.a+this.b+this.c;} }
class Rectangle implements IShape{
int x1,x2,y2,y2;
int dge1=x2-x1,dge2=y2-y1;
public Rectangle(Point p1,Point p2){
p1.x=x1;
p2.x=x2;
p1.y=y1;
p2.y=y2;
}
public Rectangle(int dge1,int dge2){
this.dge1=dge1;
this.dge2=dge2;

}
public Rectangle(int dge){
this(dge,dge);}

public double getArea(){
return dge1*dge2;

}
public double getCircumference(){
return 2*(dge1+dge2);
}
}
class Main{
public staitc void main(String[] args){
Triangle 三角形1=new Triangle(3,4,1);//提示创建错误,任意两边之和不大于第三边
Triangle 三角形2=new Triangle(6);//创建一个三边均为6厘米的三角形
Triangle 三角形3=new Triangle();//创建一个三边分别为3,4,5厘米的三角形
Point 圆心1=new Point(12,12);
Circle 圆1=new Circle(圆心1,10);
Circle 圆2=new Circle(12); //
Point 矩形左顶点=new Point(12,12);
Point 矩形右下角点=new Point(22,22);
Rectangle 矩形1=new Rectangle(矩形左顶点,矩形右下角点);
int edge1=3,edge2=4;
Rectangle 矩形2=new Rectangle(edge1,edge2);
Rectangle 矩形3=new Rectangle(edge2);
System.out.println("三角形1的周长为:"+三角形1.getCircumference()+"\n三角形1的面积为:"+三角形1.getArea());
System.out.println("三角形2的周长为:"+三角形2.getCircumference()+"\n三角形2的面积为:"+三角形2.getArea());
System.out.println("三角形3的周长为:"+三角形3.getCircumference()+"\n三角形3的面积为:"+三角形3.getArea());
System.out.println("圆1的周长为:"+圆1.getCir()+"\n圆1的面积为:"+圆1.getArea());
System.out.println("圆2的周长为:"+圆2.getCir()+"\n圆2的面积为:"+圆2.getArea());
System.out.println("矩形1的周长为:"+矩形1.getCircumference()+"\n矩形1的面积为:"+矩形1.getArea());
System.out.println("矩形2的周长为:"+矩形2.getCircumference()+"\n矩形2的面积为:"+矩形2.getArea());
System.out.println("矩形3的周长为:"+矩形3.getCircumference()+"\n矩形3的面积为:"+矩形3.getArea());
}

}
展开
 我来答
百度网友216ad50
2011-05-17 · 超过18用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:35.4万
展开全部
错误1:Point类中 public double y;写成了public doulbe y;
错误2:Circle 实现了IShape借口,却没实现public double getCir()方法
错误3:
public Circle(double r){
this((0,0),12));}
这算什么??你是想调用public Circle(Point p, double r)构造函数?
public Circle(double r){
this(new Point(),12);
}
这么写

错误4:Triangle类中的public double getArea()方法中的if判断句
if ((a>0 && b>0 && c>0)||(a+b>c && a+c>b && c+b>a))写成了if ( (a>0 && b>0 && c>0) || (a+b>c && a+c>b && c+b>a) 少写了一个右括号

错误5:上面判断句的 下面一行 return 0写成了 reutrn 0

错误6:在Rectangle类中,声明变量行,声明了2个y2。

错误7:Main类中 public static void main(String[] args) 写成了 staitc

错误8:Main类中,你实例化Rectangle类对象,但是你将Rectangle类设置成抽象的,则不可以直接实例化,要么你把Rectangle的abstract给去掉,并实现
public double getCir()方法,要么,你在写个子类继承Rectangle类,通过子类来实例化Rectangle对象
lixiang0607
2011-05-16
知道答主
回答量:26
采纳率:0%
帮助的人:4.9万
展开全部
肯定通不过了一方面是main函数必须放在公共类里面另一方面是你里面的PI应该改为Math.PI改一下看能不能运行再说。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heyu200709
2011-05-16 · TA获得超过158个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:102万
展开全部
public class Point
class Circle implements IShape{
public double r,x,y;

public Circle(Point p,double r){
p.x=x;
p.y=y;
this.r=r;
}
public Circle(double r){
this((0,0),12));}
你在构造的时候顺序反了 虽然不影响运行,但构造还是规范点。
point是类,重载构造的时候this(0,0)将找不到构造方法,可以用this (new point(),0) 。
追问
不懂,能讲详细点不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式