Java练习2
2016-03-28 11:09
316 查看
定义一个Rectangle类,该类提供getLength和getWidth方法,创建一个Rectangle数组并找出面积最大的Rectangle和周长最大的Rectangleangle。
package rectangle; public class Rectangle { private float length; private float width; public Rectangle() { } public Rectangle(float length, float width) { this.length = length; this.width = width; } public float getLength() { return length; } public void setLength(float length) { this.length = length; } public float getWidth() { return width; } public void setWidth(float width) { this.width = width; } } /** * */ package rectangle; import java.util.Comparator; /** * @author kkquiet * *在该方法中找到面积最大和周长最大的rectangle对象 */ public class Getmax { /** * @param args */ public static void main(String[] args) { // TODO 找出周长最大和面积最大的Rectangle Rectangle [] arr = {new Rectangle(1,2), new Rectangle(3,4), new Rectangle(5,6), new Rectangle(1,3), new Rectangle(2,3)}; Rectangle maxPeri = findPeriMax(arr, new PeriCmp()); Rectangle maxArea = findPeriMax(arr, new AreaCmp()); System.out.println("{"+maxPeri.getLength()+", "+maxPeri.getWidth()+"}"); System.out.println("{"+maxArea.getLength()+", "+maxArea.getWidth()+"}"); } //找出周长最大的Rectangle public static Rectangle findPeriMax(Rectangle [] arr, Comparator<? super Rectangle> cmp){ int mi = 0; for(int i = 0; i < arr.length; i++){ if (cmp.compare(arr[i], arr[mi]) > 0) mi = i; } return arr[mi]; } //找出面积最大的Rectangle public static Rectangle findAreaMax(Rectangle [] arr, Comparator<? super Rectangle> cmp){ int mi = 0; for(int i = 0; i < arr.length; i++){ if (cmp.compare(arr[i], arr[mi]) > 0) mi = i; } return arr[mi]; } } //周长的比较器 class PeriCmp implements Comparator<Rectangle>{ public int compare(Rectangle r1, Rectangle r2){ return 2*(r1.getLength()+r1.getWidth()) > 2*(r2.getLength()+r2.getWidth())?1:0; } } //面积比较器 class AreaCmp implements Comparator<Rectangle>{ public int compare(Rectangle r1, Rectangle r2){ return r1.getLength()*r1.getWidth() > r2.getLength()*r2.getWidth()? 1:0; } }
相关文章推荐
- Java_chapter08_对象和类
- win7 eclipse 调试storm
- JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件
- JAVA学习(三)
- NoSuchMethodError
- java研发常见问题总结2
- springmvc 发送ajax出现中文乱码的解决方法汇总
- java transient关键字使用
- Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器
- Java字符串常量池
- myeclipse 常用快捷键
- Java异常捕捉陷阱(内存泄漏,finally块,catch块,继承得到的异常)
- Hibernate注解配置 在Spring的配置文件里写法
- JAVA final 关键字
- java注解方法原理样例
- 10张思维导图带你学习【JavaScript】
- Dialect does not support identity key generation
- Java第三次作业
- java 的hash,list , equal()复习
- Spring AOP的使用 基于XML