Professional Documents
Culture Documents
A. 10
B. 40
C. 50
D. 80
2
Đáp án: B. 40
3
2. Câu hỏi số 2: Xây dựng một hàm tính giai thừa của một số nguyên. Ví dụ, giai
thừa của 5 sẽ là 1 x 2 x 3 x 4 x 5 = 120.
4
Đáp án:
Đoạn code cho ví dụ trên:
public int giaiThua(int n) {
int giaiThua = 1;
for (int i = 1; i <= n; i++) {
giaiThua = giaiThua * i;
}
return giaiThua;
}
5
3. Câu hỏi số 3:
Xây dựng một hàm thực hiện việc tìm kiếm xâu (biến kiểu String) trong mảng xâu.
Hàm này nhận 2 tham số đầu vào là một mảng xâu và một xâu. Hàm sẽ thực hiện
việc tìm kiếm trong mảng xâu. Nếu một phần tử nào đó của mảng có cùng giá trị
với xâu đầu vào, hàm sẽ trả về kết quả là chỉ số của phần tử đó trong mảng. Nếu
trong mảng xâu không có kết quả nào phù hợp, hàm sẽ trả về giá trị là -1.
Chương trình sẽ cho ta kết quả là 1 được in trên màn hình vì phần tử có chỉ số 1 là
“Java” trùng với xâu cần tìm.
Gợi ý: trong quá trình xây dựng hàm, bạn sẽ cần đối chiếu giữa phần tử của mảng
và xâu đang xét đến. Trong trường hợp này, toán tử so sánh == không phát huy
được tác dụng. Bạn sẽ cần dùng đến .equals()
Giả sử ta có:
String s = “Lập trình”;
mangXau[0] = “Lập trình”;
mangXau[0].equals(s) = true
6
Đáp án:
Đoạn code cho ví dụ trên:
7
4. Câu hỏi số 4: Tài khoản tiết kiệm có lãi suất 5% / năm. Bạn hãy xây dựng một hàm
Java để tính xem phải mất bao nhiêu năm để tài khoản tiết kiệm sẽ có giá trị
1.000.000.000 đồng. Hàm này nhận tham số đầu vào là số tiền gửi trong tài khoản
tiết kiệm và trả về giá trị là số năm để tiền trong tài khoản đạt 1.000.000.000 đồng
trở lên. (Gợi ý: Chúng ta cần tạo một vòng lặp thích hợp cho việc tính toán này.
Đối với những vòng lặp chưa xác định được sẽ phải lặp bao nhiêu lần thì vòng lặp
While sẽ là một lựa chọn hợp lý)
8
Đáp án
9
5. Câu hỏi số 5. Xây dựng một hàm trong Java để có thể in ra tất cả các phần tử trong
một mảng xâu theo thứ tự ngược lại. (Phần tử có chỉ số cao nhất được in trước,
tiếp đó là các phần tử có chỉ số thấp hơn,… cuối cùng là phần tử có chỉ số là 0).
Gợi ý: Để giải quyết vấn đề này, bạn hãy sử dụng đến vòng lặp For theo một
phương thức khác. Lưu ý rằng, biến đếm được sử dụng trong vòng lặp không nhất
thiết phải bắt đầu từ số 0 và không phải lúc nào cũng tăng lên. Đối với trường hợp
này, bạn nên khởi tạo biến đếm với giá trị là lớn nhất, sau đó giảm dần giá trị của
bến đếm sau mỗi lần lặp bằng i--.
10
Đáp án
11
6. Câu hỏi số 6: Xây dựng một hàm trong Java để tính toán độ lớn phạm vi của một
mảng các số nguyên (Xác định khoảng cách giữa số lớn nhất và số nhỏ nhất
trong mảng). Để làm được điều đó, bên trong hàm, bạn phải tìm giá trị nhỏ nhất
và giá trị lớn nhất bên trong mảng. Hàm sẽ trả về khoảng cách là giá trị lớn nhất
trừ đi giá trị nhỏ nhất.
Ví dụ, ta có:
int[] mangNguyen = {1, 0, 2, 3, -1, 2};
Khi ta gọi hàm:
timKhoangCach(mangNguyen)
Hàm sẽ trả về giá trị là 4. Vì giá trị lớn nhất trong mảng là 3, giá trị nhỏ nhất là -1
và 3 - (- 1) = 4.
Code mở đầu:
public int timKhoangCach(int[] mangNguyen) {
12
Đáp án
13
7. Câu hỏi số 7: Đoạn code này sẽ in ra kết quả như thế nào?
int soHang = 3;
for (int i = 1; i <= soHang; i++) {
String inRa = "";
for (int j = 0; j < i; j++) {
inRa = inRa + "#";
}
System.out.println(inRa);
}
14
Đáp án:
#
##
###
15