Java作业整理

来源:互联网 发布:淘宝女士丝巾 编辑:程序博客网 时间:2024/05/01 18:48

题意:编写一个名为Square(正方形)的类,并按要求完成如下封装

要求:(1) 一个名为sidedouble私有数据域表示三条边;

      (2) 一个能创建带指定参数参数s1的构造方法;

      (3) 实现ComparableCloneable接口。

      (5) 编写方法,求Square(正方形)类对象的周长,返回double类型,方法公有。

      (6) 编写方法,求Square(正方形)类对象数组中所有对象的周长和,方法为公有静态。

(7) 编写测试程序,分别创建边长1-10Square对象,调用方法(6),显示10个对象的周长;创建边长为20Square对象,使用Clone方法创建一新对象,并使用compareTo方法比较两个对象。

public class Square implements Cloneable,Comparable{      private double side;      Square[] squares = new Square[12];      public Square(double side){      this.side = side;      }public double getSide() {return side;}public void setSide(double side) {this.side = side;}public double getPerimeter(){    return 4 * side;    }@Overridepublic int compareTo(Object o) {if(side > ((Square)o).side)   return 1;   else if(side < ((Square)o).side)   return -1;   else   return 0;}    public  static double getPerimeters(Object[] squares){    double total_Perimeter = 0;    for(int i = 0;i < squares.length; i++)    total_Perimeter += ((Square) squares[i]).getPerimeter();return total_Perimeter;        }    public Object clone()throws CloneNotSupportedException{    return super.clone();    }    }public class TestSquare {       public static void main(String[] args) throws CloneNotSupportedException {       Square[] squares = new Square[10];       for(int i = 0; i < 10 ; ++i){       squares[i] = new Square(i+1);              }       System.out.println("The total_Perimeter is :" + Square.getPerimeters(squares));       Square s1 = new Square(20);            Square s2 = (Square) s1.clone();      s2.setSide(21);//       System.out.println(s1);//       System.out.println(s2);       System.out.println(s1.compareTo(s2));              }}

0 0