Mảng các đối tượng hình chữ nhật trong Java
Đề bài: Tạo lớp hình chữ nhật, có phương thức tính diện tích. Viết chương trình tạo một mảng gồm 10 đối tượng của lớp hình chữ nhật, sau đó sắp xếp mảng theo chiều tăng dần của diện tích các đối tượng hình chữ nhật.
Yêu cầu kiến thức:
- Xác định đối tượng chương trình từ đối tượng thực tế
- Xác định, phân tích các thành phần trong lớp và đối tượng như thuộc tính và phương thức
- Biết cách sử dụng lớp abstract và interface trong tình huống thích hợp
- Xác định kiểu dữ liệu của biến và hàm trong chương trình
Cấu trúc thư mục:
src
|——BuildClass
|——Shape.java
|——Rectangle.java
|——UseClass
|——MainClass.java
Code tham khảo dưới đây được viết trên JDK ver 8.x:
File Shape.java:
package BuildClass;
public abstract class Shape {
abstract double erea();
}
File Rectangle.java:
package BuildClass;
public class Rectangle extends Shape implements Comparable {
// Thuoc tinh
private double width;
private double hight;
// Phuong thuc
// Ham khoi tao khong doi so
public Rectangle() {
}
// Ham khoi tao co doi so
public Rectangle(double width, double hight) {
this.width = width;
this.hight = hight;
}
// Ghi de phuong thuc erea
@Override
public double erea() {
return width * hight;
}
// Ghi de phuong thuc campareTo
@Override
public int compareTo(Object o) {
Shape oShape = (Shape) o;
return (int) (this.erea() - oShape.erea());
}
@Override
public String toString() {
return "Rectangle{" +
"width=" + width +
", hight=" + hight +
", erea=" + erea() +
'}';
}
}
File MainClass.java:
package UseClass;
import BuildClass.Rectangle;
import java.util.Arrays;
import java.util.Random;
public class MainClass {
public static void main(String[] args) {
// Khai bao doi tuong random
Random random = new Random();
// Khoi tao mang doi tuong hinh chu nhat
Rectangle[] a = new Rectangle[10];
// Random chieu dai va chieu rong cho cac doi tuong hinh chu nhat
double randomW = 0;
double randomH = 0;
for (int i = 0; i < a.length; i++) {
randomW = random.nextInt(10);
randomH = random.nextInt(10);
// Khoi tao width va hight cho cac doi tuong trong a
a[i] = new Rectangle(randomW, randomH);
}
// Sap xep dien tich cac doi tuong hinh chu nhat
Arrays.sort(a);
// Hien thi
for (int i = 0; i < a.length; i++) {
System.out.println("Hinh chu nhat thu " + (i + 1) + ": " + a[i].toString());
}
}
}
Kết luận:
- Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây