用java编写一个名为Square(正方形)的类,并按要求完成如下封装
要求:(1)一个名为side的double私有数据域表示三条边;(2)一个能创建带指定参数参数s1的构造方法;(3)实现Comparable,Cloneable接口。(5...
要求:(1) 一个名为side的double私有数据域表示三条边;
(2) 一个能创建带指定参数参数s1的构造方法;
(3) 实现Comparable,Cloneable接口。
(5) 编写方法,求Square(正方形)类对象的周长,返回double类型,方法公有。
(6) 编写方法,求Square(正方形)类对象数组中所有对象的周长和,方法为公有静态。
(7) 编写测试程序,分别创建边长1-10的Square对象,调用方法(6),显示10个对象的周长;创建边长为20的Square对象,使用Clone方法创建一新对象,并使用compareTo方法比较两个对象。 展开
(2) 一个能创建带指定参数参数s1的构造方法;
(3) 实现Comparable,Cloneable接口。
(5) 编写方法,求Square(正方形)类对象的周长,返回double类型,方法公有。
(6) 编写方法,求Square(正方形)类对象数组中所有对象的周长和,方法为公有静态。
(7) 编写测试程序,分别创建边长1-10的Square对象,调用方法(6),显示10个对象的周长;创建边长为20的Square对象,使用Clone方法创建一新对象,并使用compareTo方法比较两个对象。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
展开全部
随便写写 未测试
package com.leejiliang.HomeworkDemo2;
public class Test {
public static void main(String[] args) {
Square[] squares = new Square[10];
for (int i = 0, k = squares.length; i < k; i++) {
squares[i] = new Square(i + 1);
}
System.out
.println("所有Square的总周长是:" + Square.getTotalPerimeter(squares));
Square sq1 = new Square(20);
Square sq2 = null;
try {
sq2 = (Square) sq1.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
System.out.println("sq1"
+ (sq1.compareTo(sq2) == 1 ? ">"
: (sq1.compareTo(sq2) == 0 ? "=" : "<")) + "sq2");
}
}
class Square implements Cloneable, Comparable<Square> {
private double side;
public Square(double s1) {
this.side = s1;
}
public double getSide() {
return side;
}
public void setSide(double side) {
this.side = side;
}
@Override
public int compareTo(Square o) {
if (this.side > o.getSide()) {
return 1;
} else if (this.side < o.getSide()) {
return -1;
} else {
return 0;
}
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
public double getPerimeter() {
return side * 4;
}
public static double getTotalPerimeter(Square[] squares) {
double totalPerimeter = 0.0;
for (int i = 0, k = squares.length; i < k; i++) {
totalPerimeter += squares[i].getPerimeter();
}
return totalPerimeter;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询