Tạo ra 1 danh sách các hình chữ nhật tính và in ra màn hình hình chữ nhật có diện tích lớn nhất. các bác giúp em với.
Ý tưởng của mình là: Lấy ra giá trị diện tích lớn nhất, sau đó đem so sách lại, nếu bằng với giá trị lớn nhất thì in ra. Code hơi dài, nhưng không nghỉ ra được cách nào ngắn hơn Mã: import java.util.Scanner; public class hcn { //thuoc tinh double a ,b; //phuong thuc hcn(double a, double b) { this.a = a; this.b = b; } double cv(){ return (a+b)*2; } double dt(){ return a*b; } public static void main(String agrs[]){ Scanner s = new Scanner(System.in); System.out.println("Nhap so luong: "); int n = s.nextInt(); double a, b; hcn[] A = new hcn[n]; for(int i = 0; i<n; i++) { System.out.println("Nhap hinh tron thu " +i+" :"); System.out.println("Nhap chieu dai: "); a = s.nextFloat(); System.out.print("Nhap chieu rong: "); b = s.nextFloat(); A[i] = new hcn(a,b); } for(int i = 0; i<n; i++) { System.out.println("--------------------------"); System.out.println("Hinh thu " + (i+1) + ": "); System.out.println("Chieu dai: " + A[i].a); System.out.println("Chieu rong: " + A[i].b); System.out.println("Chu vi: " + A[i].cv()); System.out.println("Dien tich: " + A[i].dt()); } //xac dinh gia tri lon nhat double max = A[0].dt(); for(int i = 0; i<n; i++) { if ( max < A[i].dt() ){ max = A[i].dt(); } } //so sanh voi max va xuat ket qua for(int i = 0; i<n; i++) { if(A[i].dt() == max){ System.out.println("--------------------------"); System.out.println("Hinh thu " + (i+1) + " la hinh co dien tich lon nhat"); System.out.println("Chieu dai: " + A[i].a); System.out.println("Chieu rong: " + A[i].b); System.out.println("Chu vi: " + A[i].cv()); System.out.println("Dien tich: " + A[i].dt()); } } } }