30/09/2018, 21:44

Hỏi cách dừng vòng lặp

e có đoạn code này mà đến khúc cuối làm sao cho nó chỉ in 1 hàng thui chứ thấy chạy hoài

System.out.println("hay nhap tu 1 den 10");
        Scanner sc= new Scanner(System.in);
        int result = sc.nextInt();
        sc.close();
            
        for(int column=1;column<=result;column++){
            for(int row=1;row<=column;row++){
                System.out.print("*");
            }
                System.out.println(" ");        
        }
       
        while(result>10){
            System.out.println("gia tri k phu hop");
        }
    }
Nguyễn Văn Nam viết 23:46 ngày 30/09/2018
while(result>10){
        System.out.println("gia tri k phu hop");
    }

sao lại dùng while ở đây nhỉ? Dùng if đi :3

Scorpion viết 23:49 ngày 30/09/2018

do đề bài yêu cầu dùng cặp for với while

Đạt Đỗ viết 23:58 ngày 30/09/2018

while(result>10){
System.out.println(“gia tri k phu hop”);
break;
}

hehe cho nhanh. Nếu bạn thích dùng vòng lặp :v

Scorpion viết 23:49 ngày 30/09/2018

nếu dùng như vậy thì giá trị lớn hơn 10 sẽ xuất ra hình tam giác + với dòng “giá trị k phù hợp” chỉ xuất tam giác với giá trị <10 và với giá trị lớn hơn 10 sẽ xuất ra dòng giá trị k phù hợp

Scorpion viết 23:48 ngày 30/09/2018
while(result<10){
        for(int column=1;column<=result;column++){
            for(int row=1;row<=column;row++){
                System.out.print("*");
            }
                System.out.println(" ");        
        }
        }System.out.println("gia tri k phu hop");
        }
}

nếu viết như thế này thì cái tam giác chạy liên tục k ngừng T-T

Tất Huân viết 23:51 ngày 30/09/2018

Theo mình hiểu là vòng while để kiểm tra giá trị nhập vào và bắt nhập lại đúng không bạn? Nếu đúng vậy thì bạn nên dùng do while và cho dòng nhập vào trong vòng này

Scorpion viết 23:52 ngày 30/09/2018

cụ thể là ntn vậy bạn??

Tất Huân viết 23:55 ngày 30/09/2018

Bạn tập xem follow chương trình sẽ biết nó chạy ntn, hình như bạn copy code mỗi thứ 1 chút đúng không ?
Bây giờ bạn sửa lại bằng cách cho vòng while lên trước vòng for rồi cho lệnh nhập vào trong vòng while sẽ thấy

Tất Huân viết 23:59 ngày 30/09/2018

Ctrinh của bạn chạy như sau:

do(){
nhập..
}while(Điều kiện nhập sai)

for(){
...
}
Văn Dương viết 23:51 ngày 30/09/2018

Đặt cái này ở chỗ nào muốn dừng và thoát vòng lặp : while, for :

break;

Ví dụ :

while(true){
    //.......
    break; // out
}
Tất Huân viết 23:54 ngày 30/09/2018

DÙng đc chưa hay hiểu chưa bạn ? Đc hay không cũng nên cmt lại chứ :)))

nguyen huy hoang viết 23:59 ngày 30/09/2018

bạn có thể dùng lệnh break để thoát khỏi vòng lặp hoặc có thể dùng 1 biến boolean làm flag để dừng vòng lặp khi bạn muốn. vòng lặp bạn để thế bị lặp vô hạn là phải rồi :3.

Scorpion viết 23:46 ngày 30/09/2018

dừng dc rùi :)) thêm 1 câu lệnh vô cho while là dừng

Scorpion viết 23:58 ngày 30/09/2018

do cái flag chưa xem tới nên k bik cái này

nguyen huy hoang viết 23:45 ngày 30/09/2018

ak ví dụ; boolean flag = true;
while(flag){
}
khi bạn muốn dừng chỉ cần flag = false

Bài liên quan
0