Java - Viết chương trình tìm số lớn nhất, nhỏ nhất và tính trung bình của 2 số có kiểu double ngẫu nhiên.

Viết chương trình sinh ra 2 số ngẫu nhiên có kiểu là double. Sau đó in ra giá trị lớn nhất, nhỏ nhất và giá trị trung bình của 2 số này.

Bài giải

-------------------- ######## --------------------

Hướng dẫn: Để giải bài này, chúng ta sẽ sử dụng phương thức Math.random() để sinh ra ngẫu nhiên 2 số có kiểu là double nằm trong đoạn [0.0 ... 1.0). Sau đó tạo ra 1 ArrayList để lưu 2 số này, và thực hiện các phép toán tìm số lớn nhất (sử dụng Math.max()), số nhỏ nhất (sử dụng Math.min()) và tính trung bình.

Bài giải
public static void main(String[] args) {
	double randomNumber, minNumber, maxNumber, average, sum = 0.0;
	DecimalFormat dcf = new DecimalFormat("#.##");
	ArrayList<Double> arrayList = new ArrayList<>();
		
	// sinh ra 2 số thực ngẫu nhiên trong đoạn [0,1)
	for (int i = 0; i < 2; i++) {
		randomNumber = Math.random();
		arrayList.add(randomNumber);
	}
		
	System.out.println("Hai số vừa được sinh ra là: ");
	for (int i = 0; i < arrayList.size(); i++) {
		System.out.println(dcf.format(arrayList.get(i)));
	}
		
	// tìm số nhỏ nhất
	minNumber = Math.min(arrayList.get(0), arrayList.get(1));
	System.out.println("Số nhỏ nhất trong 2 số trên là " + dcf.format(minNumber));
		
	// tìm số lớn nhất
	maxNumber = Math.max(arrayList.get(0), arrayList.get(1));
	System.out.println("Số lớn nhất trong 2 số trên là " + dcf.format(maxNumber));
		
	// tính trung bình cộng 2 số trên
	for (int i = 0; i < arrayList.size(); i++) {
		sum += arrayList.get(i);
	}
	average = sum / (arrayList.size());
	System.out.println("Trung bình cộng = " + dcf.format(average));
}

Kết quả sau khi biên dịch chương trình (lưu ý kết quả của mỗi lần biên dịch sẽ khác nhau vì giá trị của 2 số này là ngẫu nhiên):

Nguồn: freetuts.net