为什么一会儿之后一会儿语句不起作用?

问题描述 投票:0回答:1

我对一段时间内的工作顺序感到困惑。我的主要问题是要求用户写一个数字。如果数字大于7,则应显示该数字,然后倒数至0。我仍在学习,但目前我对此很安静,因此如果有人可以解释它的工作原理以及背后的逻辑!

我现在拥有的是:

int num = 0;
        int b = 0;
        do{

            System.out.println("Por favor introduce un numero:");
            num = Integer.parseInt(br.readLine());

            if(num > 7){
                System.out.println("Tu numero es mayor a 7");

            }else if (num <= 7) {
                System.out.println("Tu numero es menor o igual a 7");
            }

          }while(num < 7);

            while(num < 7){
                 System.out.println(num);
                 num++;
            }

我知道这不会起作用,因为当您选择一个更高的数字7时,该语句已被完全过滤,它只返回“ Tu numero es mayor a 7”。但是我发现,如果我使用另一个Do While可以正常工作并倒数到0(请参见下文):

int num = 0;
        int b = 0;
        do{

            System.out.println("Por favor introduce un numero:");
            num = Integer.parseInt(br.readLine());

            if(num > 7){
                System.out.println("Tu numero es mayor a 7");

            }else if (num <= 7) {
                System.out.println("Tu numero es menor o igual a 7");
            }



        }while(num < 7);

        do{
        System.out.println(num);
        num--; }
        while(b<=num);

    }          

}

使用另一个Do,它会显示计数到0,从某种意义上说,我理解int num获得了用户输入的值,但是为什么while语句不起作用?我可以将While语句合并到Do While吗?我也尝试将其放在Do While语句中,但它被完全忽略了???

我对一段时间内的工作顺序感到困惑。我的主要问题是要求用户写一个数字。如果数字大于7,则应显示该数字并计数...

java while-loop do-while
1个回答
0
投票

循环do while最后执行检查,这意味着循环主体始终至少执行一次。但是对于循环while,条件从头开始检查,因此如果从头开始不满足该条件,则将执行较新的主体。

© www.soinside.com 2019 - 2024. All rights reserved.