Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops (初学者)使用2个循环来确定数字是否为素数…对某些数字不起作用_Loops_Input_While Loop_Division_Do While - Fatal编程技术网

Loops (初学者)使用2个循环来确定数字是否为素数…对某些数字不起作用

Loops (初学者)使用2个循环来确定数字是否为素数…对某些数字不起作用,loops,input,while-loop,division,do-while,Loops,Input,While Loop,Division,Do While,我只想在这里发布我程序的功能部分,而不是“你好”和“再见”图形的方法……它们很好!。基本上,程序让用户输入一个整数,确定它是素数还是素数,并询问他们是否想再做一次。它继续运行循环,直到他们说不 这是我到目前为止所拥有的。 主要内容: 这是不起作用的部分,显然它对3没有任何作用,它说21是一个素数: public static void PrimeTest(int n) { int two = 2; while(two <= n / 2) { if(

我只想在这里发布我程序的功能部分,而不是“你好”和“再见”图形的方法……它们很好!。基本上,程序让用户输入一个整数,确定它是素数还是素数,并询问他们是否想再做一次。它继续运行循环,直到他们说不

这是我到目前为止所拥有的。 主要内容:

这是不起作用的部分,显然它对3没有任何作用,它说21是一个素数:

public static void PrimeTest(int n)
{
    int two = 2;

    while(two <= n / 2)
    {
        if(n % two == 0)
            {
            System.out.println(n + " is not a prime number.");
            System.out.println();
            }
        else
            {
            System.out.println(n + " is a prime number.");
            System.out.println();
            }
        break;
    }
}

感谢您的帮助!无论是效率,还是只是指出我把事情搞砸了。请告诉我您需要帮助我的其他详细信息。

该测试尽可能有缺陷。。。它只是检查一个数字是否是偶数,但你已经用词来代替它是/不是素数

您也永远不会更改两个,所以从技术上讲,while循环应该永远不会结束

这对我来说没什么用


2-21不是质数。7*3我根本不明白PrimeTest方法是如何工作的。你永远不会在循环中改变n或2,所以最有可能的结果是一个无止境的循环,或者什么都不会发生。罗伯特·哈维-我的意思是它说它是一个素数…@Mazzone增量必须在循环中-否则一旦你在循环中,它将如何退出?
public static void PrimeTest(int n)
{
    int two = 2;

    while(two <= n / 2)
    {
        if(n % two == 0)
            {
            System.out.println(n + " is not a prime number.");
            System.out.println();
            }
        else
            {
            System.out.println(n + " is a prime number.");
            System.out.println();
            }
        break;
    }
}