java的do while循环是如何循环的?do while循环例子

TheDisguiser 2020-07-31 16:51:44 java常见问答 4010

与while对立的还有一种do while循环,听起来似乎与while相差不大,实际到底是怎么运行的呢?现在来看看吧。

do{}while循环会首先执行一次,即do一次出循环体时判断while条件是否为真,若为真则跳到do继续循环;否则退出循环,执行下一行代码;

例: 设计一个计算“ 一元二次方程” 的程序。 运行的结果是让你输入三个数, 然后计算结果, 完了之后还会问你:“ 您想继续吗?” 想继续的话可以再输入三个数, 不想继续, 输入“ N” 就退出。 代码如下:

#
include < stdio.h > #include < math.h >
    int main(void)
    {
        float a, b, c; //定义一元二次方程的三个系数
        char k; //用于后面判断是否要继续输入
        double delta, x1, x2; /*delta用来存储b*b - 4*a*c的值;x1和x2的值分别为方程的解*/
        do {
            //输入一元二次方程的三个系数a、b、c
            printf("请输入一元二次方程的三个系数, 用回车分隔:\n");
            printf("a = ");
            scanf("%f", & a);
            while (getchar() != '\n'); /*容错处理, scanf后面都加上这一句, 作用是清空输入缓冲区, 以防用户乱输入*/
            printf("b = ");
            scanf("%f", & b);
            while (getchar() != '\n');
            printf("c = ");
            scanf("%f", & c);
            while (getchar() != '\n');
            delta = b * b - 4 * a * c;
            //判断delta的值是大于零, 等于零, 还是小于零
            if (delta > 0)
            {
                x1 = (-b + sqrt(delta)) / (2 * a);
                x2 = (-b - sqrt(delta)) / (2 * a);
                printf("有两个解, x1 = %f, x2 = %f\n", x1, x2);
            }
            else if (0 == delta)
            {
                x1 = x2 = (-b) / (2 * a);
                printf("有唯一解, x1 = x2 = %f\n", x1);
            }
            else
            {
                printf("无实数解\n");
            }
            //询问是否想继续输入
            printf("您想继续吗, Y想, N不想:");
            scanf("%c", & k); //输入Y或者N, 表示“想”或“不想”
            while (getchar() != '\n');
        }
        while ('Y' == k);
        return 0;
    }

以上就是本篇文章的所有内容,关于java中循环相信小伙伴们已经有了深刻的理解,如果还想了解更多java常见问题及解决方法就来关注我们吧。

推荐阅读:

Java中while语句怎么用?利用while语句统计字符的个数

java中while和dowhile的区别是什么?

java里边while是怎么循环的?java语言while循环例子