定義一個Rectangle類,該類提供getLength和getWidth方法。


import java.util.Comparator;


/**
* 定義一個Rectangle類,該類提供getLength和getWidth方法。利用圖1-18中的findMax例程編寫
* 一種main方法,該方法創建一個Rectangle數組並首先找出依面積最大的Rectangle對象,然后
* 找出依周長最大的Rectangle對象。
* @author wulei
*/
public class RectangleTest {
/**
* 構造一個矩形
*/
private int width,height;
private String name;

public RectangleTest(int width, int height){
this.width = width;
this.height = height;
}

public int getLength(){
return (width+height)<<2;
}

public int getArea(){
return width*height;
}

public String getName(){
return "("+width+","+height+")";
}

public static <T> T findMax(T[] arr,Comparator<? super T> cmp){
if(null == arr || cmp == null){
return null;
}
int index = 0;
for (int i = 1; i < arr.length; i++) {
if(cmp.compare(arr[i], arr[index]) > 0){
index = i;
}
}
return arr[index];
}

/**
* 長度比較器
*/
public static class LengthCompare implements Comparator<RectangleTest>{

@Override
public int compare(RectangleTest o1, RectangleTest o2) {
if(o1.getLength() > o2.getLength()){return 1;}
else if (o1.getLength() == o2.getLength()) {
return 0;
}else{
return -1;
}
}

}

/**
* 面積比較器
*/
public static class AreaCompare implements Comparator<RectangleTest>{

@Override
public int compare(RectangleTest o1, RectangleTest o2) {
if(o1.getArea() > o2.getArea()) {return 1;}
else if (o1.getArea() == o2.getArea()) {
return 0;
}
else {
return -1;
}
}

}


public static void main(String[] args) {
RectangleTest[] arr = new RectangleTest[]
{new RectangleTest(5, 5),new RectangleTest(6,4),new RectangleTest(3, 8)};
System.out.println(findMax(arr, new LengthCompare()).getName());
System.out.println(findMax(arr, new AreaCompare()).getName());
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 Java集合框架上機練習題:編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable接口,在接口的compareTo()方法..... 28.按要求編寫一個Java應用程序: (1)定義一個類,描述一個矩形,包含有長、寬兩種屬性,和計算面積方法。 (2)編寫一個類,繼承自矩形類,同時該類描述長方體,具有長、寬、高屬性, 和計算體積的方法。 (3)編寫一個測試類,對以上兩個類進行測試,創建一個長方體,定義其長、 寬、高,輸出其底面積和體積。 按要求編寫一個Java應用程序: (1)定義一個類,描述一個矩形,包含有長、寬兩種屬性,和計算面積方法。 (2)編寫一個類,繼承自矩形類,同時該類描述長方體,具有長、寬、高屬性, 和計算體積的方法。 (3)編寫一個測試類,對以上兩個類進行測試,創建一個長方體,定義其長、 寬、高,輸出其底面積和體積。 javax.crypto.Cipher類提供加密和解密功能,該類是JCE框架的核心。 6-1 設計一個矩形類Rectangle (10分) 定義抽象類Shape,抽象方法為showArea(),求出面積並顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據各自的屬性,用showArea方法求出各自的面積,在main方法中構造3個對象,調用showArea方法。(體現多態) 2.定義圖形類Shape,該類中有獲得面積的方法getArea();定義長方形類Rect,該類是Shape的子類,類中有矩形長和寬的變量double a,double b,設置長和寬的方法setWidth()、setHeight(),使用getArea()求矩形面積;利用getArea方法實現題1中圓面積的求解。 定義一個名為Rectangle的類表示矩形,其中含有length和width兩個double型的成員變量表示長和寬。 Rectangle類詳解 創建一個接口Shape,其中有抽象方法area,類Circle 、Rectangle實現area方法計算其面積並返回。又有Star實現Shape的area方法,其返回值是0,Star類另有一返回值boolean型方法isStar;在main方法里創建一個Vector,根據隨機數的不同向其中加入Shape的不同子類對象(如是1,生成Circle對象;如是2,生成Rectangle對象;如是3,生成S
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM