当前位置: 首页 > 知识库问答 >
问题:

打印101到200之间的所有素数,使用while循环[关闭]

康鹏云
2023-03-14

当我运行下面的程序时,没有输出,程序也不会退出。它应该打印素数。程序需要使用while循环运行。哪里出了问题?

public class F {
    public static void main(String args[]) {
        int a = 101, b = 200, c = 2;

        while (a <= b) {
            while (a > c) {
                c = 2;
                if (a % c == 0) {
                    c = 200;
                } else if (a == c) {
                    System.out.println(a);
                } else {
                    c++;
                }
            }
            a++;
        }
    }
}

共有2个答案

南门向荣
2023-03-14
while(a>c) {
    c=2;
    if(a%c==0)
    {c=200;}
    else if(a==c)
    {System.out.println(a);}
    else{c++;}
}

a%c==0时,您将c设置为200并在不打印a的情况下结束迭代。然后检查条件并200

尉迟清野
2023-03-14

原始代码的一些问题:

  • 始终递增c

代码和修复程序:

public class F {
    public static void main(String args[]) {
        int a = 101, b = 200, c = 2;

        while (a <= b) {
            c = 2;         
            while (a >= c) {
                if (a == c) {
                    System.out.println(a);
                } else if (a % c == 0) {
                    c = 200;
                }
                c++;
            }
            a++;
        }
    }
}
 类似资料:
  • 当我运行下面的程序时,没有输出,程序也不会退出。它应该打印素数。程序需要使用while循环运行。哪里出了问题?

  • 我是编程新手,在运行这段代码时遇到困难。任何帮助都将不胜感激。程序需要使用while循环运行。

  • 我创建了一个while循环来为我的程序创建菜单,它将一直循环,直到用户在控制台中键入“退出”。我的问题是,每当我在控制台中输入'Transfer'时,if语句都能正常运行,但当它返回到循环的开始时,

  • 我们可以用这里所述的算法求有向图中的圈数。我需要理解算法。 (1)最后那句话到底有什么用处?对algo的工作原理进行简短的描述会很有帮助。由于算法基本上是统计从一个节点返回到同一节点的周期数,所以我们可以使用另一个数组,称之为v,并做以下技巧: (2)我不能实现我刚才写的算法。这是主要的问题,但我认为我需要理解上面的(1)来理解打印所有循环的代码。 我了解到互联网上有算法,我正在尝试使用这个算法。

  • 我只想用下面的公式从任何给定的数字创建一个因子列表。我不允许使用列表,因此,我模仿使用字符串如下: 例如,假设我们选择num=12:

  • 大家好,我被一个问题困住了,想不出解决办法。我使用的是while循环,do while循环和for。我知道我的前两个while循环是正确的,我试图完成的是让我的do while循环和for语句打印出与我的第二个while循环相同的东西。 输入要打印的消息? 你好 输入要打印邮件的次数。输入1-20之间的值: 5 使用do-while循环输出... 第6.0行-你好 do-while循环中的时间..