Vòng lặp lồng nhau
Thuộc phần Nền tảng cơ bản trong hành trình Java của Coddy. Bài học 48 trên 73.
Vòng lặp lồng nhau là một vòng lặp nằm bên trong một vòng lặp khác. Vòng lặp bên trong sẽ hoàn thành tất cả các lần lặp của nó trong mỗi lần lặp của vòng lặp bên ngoài.
Một phép so sánh dễ hiểu là chiếc đồng hồ: với mỗi giờ (vòng lặp bên ngoài), kim phút (vòng lặp bên trong) phải hoàn thành trọn chu kỳ 60 phút.
Ví dụ về vòng lặp lồng nhau:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
System.out.println(x + " " + y);
}
}
// Đoạn code này sẽ in ra:
// 0 0
// 0 1
// 1 0
// 1 1Vòng lặp ngoài (x) chạy rows lần, và với mỗi lần đó, vòng lặp trong (y) chạy cols lần. Mỗi vòng lặp có bộ đếm riêng: y bắt đầu lại từ 0 mỗi khi vòng lặp ngoài chạy, còn rows và cols giữ nguyên và chỉ cho các vòng lặp biết khi nào cần dừng.
Thử thách
Người mớiViết chương trình in ra một hình chữ nhật bằng dấu hoa thị (*) với chiều rộng và chiều cao cho trước.
Đầu vào: Hai số nguyên: width và height
Ví dụ:
Nếu width = 5 và height = 3, đầu ra sẽ là:
*****
*****
*****Nếu width = 4 và height = 6, đầu ra sẽ là:
****
****
****
****
****
****Dùng một biến đếm mới cho mỗi vòng lặp (ví dụ: i cho các hàng và j cho các dấu hoa thị trong một hàng), rồi so sánh biến đó với height hoặc width. Đừng thay đổi chính height và width: mỗi hàng cần dùng lại width.
Tự làm thử
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int width = scanner.nextInt();
int height = scanner.nextInt();
// Viết code của bạn bên dưới
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Nền tảng cơ bản
4Toán tử phần 1
Toán tử số họcToán tử moduloTăng/giảmTăng/giảm sauPhép rút gọn số họcToán tử so sánhSo sánh chuỗi7Nhập xuất cơ bản
Các phương thức System.outĐịnh dạng đầu raLớp ScannerÔn tập: đến 120Ôn tập: đúng hay sai5Toán tử, phần 2
Toán tử logic, phần 1Toán tử logic, phần 2Ôn tập: logic cơ bảnToán tử logic, phần 3Toán tử logic, phần 411Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcTự luyện tập: Trình biên dịch Java online