import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Circle circle1= new Circle(input.nextInt(),input.next());
Circle circle2= new Circle(input.nextInt(),input.next());
GeometricObject geometricObject=GeometricObject.max(circle1,circle2);
System.out.println(geometricObject);
}
}
interface GeometricInterface{
double getArea();
double getPerimeter();
}
abstract class GeometricObject{
public GeometricObject(){}
abstract double getArea();
abstract double getPerimeter();
if(c.getArea()=d.getArea())
System.out.println("两个圆相等");
else
public static GeometricObject max(Circle c,Circle d){
if(c.getArea()>d.getArea())
return c;
else if(c.getArea()<d.getArea())
return d;
}
}
class Circle extends GeometricObject implements
GeometricInterface,Comparable<Circle>{
public double radius;
public String color;
Circle(double radius,String color){
super();
this.radius=radius;
this.color=color;
}
public double getArea() {return Math.PI*radius*radius;}
public double getPerimeter() {return 2*Math.PI*radius;}
public double getRadius(){return radius;}
public String getColor(){return color;}
public String toString(){
return "大圆的属性"+"\n"+"颜色是"+this.color+"\n"+"半径是"+this.getRadius();
}
public int compareTo(Circle momo) {
if (this.getArea() > momo.getArea())
return 1;
else if (this.getArea() < momo.getArea())
return -1;
else
return 0;
}
}
程序还有错误,因为我不知道怎么改,结果越改越错了。
上传的代码有问题吧,if else直接写在类中了?
if中判断相等是双等于号,单个等号是赋值,恒成立。
在main方法里面用println方法输出就可以了。
public static void main(String[] args) {
System.out.println("---------------程序输入参数如下--------------------");
Scanner input = new Scanner(System.in);
Circle circle1= new Circle(input.nextInt(),input.next());
Circle circle2= new Circle(input.nextInt(),input.next());
GeometricObject geometricObject=GeometricObject.max(circle1,circle2);
System.out.println("---------------程序运行结果如下--------------------");
System.out.println(geometricObject);
}
又是接口又是抽象类的,这是要求必须有的吗
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!