TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Java - Viết chương trình đếm số lần xuất hiện của số lớn nhất có trong Map.

Viết chương trình nhập vào một dãy số bất kỳ từ bàn phím, việc nhập sẽ kết thúc khi số nhập vào là số 0. Sau đó tìm ra số có số lần xuất hiện nhiều nhất trong dãy. Nếu có nhiều số có số lần xuất hiện nhiều nhất và bằng nhau thì hiển thị tất cả các số đó ra.

test php

Bài giải

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

Hướng dẫn: Để giải bài này, đầu tiên chúng ta sẽ khai báo 2 Map: một Map lưu trữ các số người dùng nhập vào từ bàn phím, 1 Map lưu trữ các số có số lần xuất hiện nhiều nhất trong Map đầu tiên. Nếu số nhập vào đã có trong Map thứ nhất thì sẽ tăng số lần xuất hiện của số đó lên 1 và lưu vào trong Map đó, còn ngược lại thì cho số lần xuất hiện của số đó bằng 1. Hàm Collections.max() để tìm ra số lần xuất hiện nhiều nhất của 1 số có trong Map thứ nhất. Sau đó sẽ duyệt qua các entry có trong Map thứ nhất, nếu có entry nào có giá trị lớn hơn số maxTimes thì sẽ lưu giá trị đó vào trong Map thứ hai.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bài giải
public static void main(String[] args) {
	int number;
	Scanner scanner = new Scanner(System.in);
		
	// đối số 1 trong Map là number nhập vào
	// đối số 2 là số lần xuất hiện của number đó
	Map<Integer, Integer> mapInteger = new HashMap<>();
		
	System.out.println("Nhập vào số. Nhập vào số 0 để kết thúc: ");
        while ((number = scanner.nextInt()) != 0) {
        	// nếu số nhập vào chưa có trong mapInteger
        	// thì sẽ thêm vào trong mapInteger 
        	// số đó có số lần xuất hiện là 1
        	// nếu đã có thì sẽ tăng số lần xuất hiện của số đó lên 1
        	if (!mapInteger.containsKey(number)) {
        		mapInteger.put(number, 1);
        	} else {
        		mapInteger.put(number, mapInteger.get(number) + 1);
        	}
        }
        
        // trả về maxTimes là số lần xuất hiện nhiều nhất
        // trong mapInteger
        int maxTimes = Collections.max(mapInteger.values());
        
        // highestMapInteger sẽ lưu trữ 
        // số có số lần xuất hiện nhiều nhất
        Map<Integer, Integer> highestMapTimes = new HashMap<>();
        
        // duyệt qua từng phần tử của mapInteger
        mapInteger.forEach((key, value) -> {
        	// nếu value nào trong mapInteger lớn hơn hoặc bằng maxNumber
        	// thì thêm key và value của số đó vào trong highestMapInteger
            if (value >= maxTimes) {
            	highestMapTimes.put(key, value);
            }
        });
        
        System.out.println("Số có số lần xuất hiện nhiều nhất là: ");
        highestMapTimes.forEach((so, soLan) ->
        System.out.println(so + " xuất hiện " + soLan + " lần"));
	}

}

Kết quả sau khi biên dịch chương trình:

ketqua baitap2Map PNG

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top