Java作业整理

题意:编写一个名为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;
    }
	@Override
	public 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));
    	   
       }
}

你可能感兴趣的:(Java作业整理)