java语言程序设计 第十三章 (13.6、13.7)
来源:互联网 发布:c语言中 x是什么意思 编辑:程序博客网 时间:2024/06/07 01:36
程序小白,希望和大家多交流,共同学习
13.6
public class ComparableCircle extends MyCircle implements Comparable<ComparableCircle>{ public ComparableCircle() { } public ComparableCircle(double radius) { super(radius); } public ComparableCircle(double radius, String color, boolean filled) { super(radius, color, filled); } public ComparableCircle max(ComparableCircle o1, ComparableCircle o2) { if (o1.compareTo(o2) > 0) { return o1; } else return o2; } @Override public int compareTo(ComparableCircle o) { if (super.getArea() > o.getArea()) //用已知的对象的面积和 o 进行比较 { return 1; } else if (super.getArea() < o.getArea()) { return -1; } else return 0; }}
public class MyCircle extends GeometricObject{ private double radius; public MyCircle() { } public MyCircle(double radius) { this(radius, "white", false); } public MyCircle(double radius, String color, boolean filled) { super(color, filled); this.radius = radius; } public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public double getDiameter() { return 2 * radius; } @Override public double getArea() { return Math.PI * radius * radius; } @Override public double getPerimeter() { return 2 * Math.PI * radius; }}
public class TestComparableCircle{ public static void main(String [] args) { ComparableCircle circle1 = new ComparableCircle(3); ComparableCircle circle2 = new ComparableCircle(4); System.out.println(circle1.compareTo(circle2)); }}
13.7
interface Colorable{ public abstract void howToColor();}
public abstract class GeometricObject{ private String color; private boolean filled; private java.util.Date dateCreated; protected GeometricObject() { dateCreated = new java.util.Date(); } protected GeometricObject(String color, boolean filled) { this.color = color; this.filled = filled; dateCreated = new java.util.Date(); } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public java.util.Date getDateCreated() { return dateCreated; } public boolean isFilled() { return filled; } public void setFuilled(boolean filled) { this.filled = filled; } @Override public String toString() { return "created on " + dateCreated + "\ncolor: " + color + "\nFilled " + filled; } public abstract double getArea(); public abstract double getPerimeter();}
public class Square extends GeometricObject implements Colorable{ private double width; private double height; public Square () { } public Square (double width, double height) { this(width, height, "white", false); } public Square(double width, double height, String color, boolean filled) { super(color, filled); this.width = width; this.height = height; } @Override public double getArea() { return width * height; } @Override public double getPerimeter() { return 2 * (width + height); } @Override public void howToColor() { System.out.println("Color all four"); } @Override public String toString() { if (super.isFilled()) { howToColor(); } return super.toString(); }}
import java.util.Scanner;public class TestSqare{ public static void main(String [] args) { Scanner input = new Scanner(System.in); GeometricObject[] squares = new Square[5]; for (int i = 0; i < 5; i++) { System.out.println(i + " : Square "); System.out.print("\tEnter width: "); double width = input.nextDouble(); System.out.print("\tEnter height: "); double height = input.nextDouble(); System.out.print("\tEnter Color: "); String color = input.next(); System.out.print("\tIs Filled: "); boolean filled = input.nextBoolean(); squares[i] = new Square(width, height, color, filled); } for (int i = 0; i < 5; i ++) { System.out.println(squares[i].toString()); System.out.println(); } }}
阅读全文
0 0
- java语言程序设计 第十三章 (13.6、13.7)
- java语言程序设计 第十三章 (13.17、13.18)
- java 语言程序设计 第十三章 13.5
- java语言程序设计 第十三章 抽象类与接口 (13.1)
- java语言程序设计 第十三章 (13.9、13.10、13.11、13.12)
- java语言程序设计 第十三章 (13.13、13.14、13.15、13.16)
- java语言程序设计 第十三章 抽象类与接口 (13.2、13.3、13.4)
- java语言程序设计基础篇第十三章编程练习题
- java语言程序设计 第八章(8.35、8.36)
- java语言程序设计 第七章(7.21、7.35)
- java语言程序设计 第十一章(11.8 11.9)
- chapter1(JAVA语言程序设计)
- Java语言程序设计(序)
- java语言程序设计 第十一章 11.3
- Java语言程序设计 第13章
- Java语言程序设计2(20)
- Java语言程序设计2(37)
- Java语言程序设计2(18)
- Uri.parse
- Effective Java
- python基础笔记1
- HDU 5965 扫雷
- 发布/订阅模式
- java语言程序设计 第十三章 (13.6、13.7)
- 在做自动化测试之前你需要知道的
- 记2017年《软件工程》学习体会
- Android 超简单音乐播放器(五) 发送歌曲信息到详情界面
- random()随机数的产生方式与原理
- 虚拟机类加载机制详解
- C语言中的fgets函数
- 我的收藏
- Linux 中的负载工具-ttyload