Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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
使用for循环确定Java中的数字是否为素数 我对java相当熟悉,过去一年我用Python和C++获得了一些编程经验;然而,我发现java更令人困惑。我在这里尝试的是通过for循环来确定一个数字(用户输入)是否为素数。以下是我目前掌握的代码: public static boolean isPrime(int x) { boolean prime = true; if (x % 2 == 0) prime = false; if (x % 2 != 0) { for (int i = 3; i*i <= x; i+=2) { if (x % i == 0) prime = false; } } return prime; } 公共静态布尔值isPrime(int x) { 布尔素数=真; 如果(x%2==0) 素数=假; 如果(x%2!=0) { 对于(inti=3;i*i_Java_Eclipse - Fatal编程技术网

使用for循环确定Java中的数字是否为素数 我对java相当熟悉,过去一年我用Python和C++获得了一些编程经验;然而,我发现java更令人困惑。我在这里尝试的是通过for循环来确定一个数字(用户输入)是否为素数。以下是我目前掌握的代码: public static boolean isPrime(int x) { boolean prime = true; if (x % 2 == 0) prime = false; if (x % 2 != 0) { for (int i = 3; i*i <= x; i+=2) { if (x % i == 0) prime = false; } } return prime; } 公共静态布尔值isPrime(int x) { 布尔素数=真; 如果(x%2==0) 素数=假; 如果(x%2!=0) { 对于(inti=3;i*i

使用for循环确定Java中的数字是否为素数 我对java相当熟悉,过去一年我用Python和C++获得了一些编程经验;然而,我发现java更令人困惑。我在这里尝试的是通过for循环来确定一个数字(用户输入)是否为素数。以下是我目前掌握的代码: public static boolean isPrime(int x) { boolean prime = true; if (x % 2 == 0) prime = false; if (x % 2 != 0) { for (int i = 3; i*i <= x; i+=2) { if (x % i == 0) prime = false; } } return prime; } 公共静态布尔值isPrime(int x) { 布尔素数=真; 如果(x%2==0) 素数=假; 如果(x%2!=0) { 对于(inti=3;i*i,java,eclipse,Java,Eclipse,,您的解决方案为1返回true,为2返回false public static boolean isPrime(int x) { if(x<2) return false; if(x==2) return true; // boolean prime = true; you dont need the variavle if (x % 2 == 0) return false; // using return is fast

,您的解决方案为1返回true,为2返回false

public static boolean isPrime(int x)
{
    if(x<2)
    return false; 
    if(x==2)
    return true;
    // boolean prime = true; you dont need the variavle
    if (x % 2 == 0)
        return false;
// using return is faster as you dont need to do more conditions
// also, you dont need the if. You could use else, if you dont want to return
// immediately   
        for (int i = 3; i*i <= x; i+=2)
        {
            if (x % i == 0)
                return false;
        }

    return true;
}
公共静态布尔值isPrime(int x)
{

如果(X您得到的任何错误?您的代码将为1返回true,但1不是质数。此外,2%2=0,因此您的代码将为2返回false,尽管它是质数。我们应该找出什么?您如何调用该方法,您期望得到什么,以及您得到什么?为什么您期望得到您期望的结果?我得到的错误是,对于任何一个我想要的数字,都是输入我制作的第二个运行此方法的程序,我不断收到false。我对从这里开始的操作感到非常困惑。我只想能够输入“2”,并使输出为真,或者输入“6”,并使输出为false。欢迎使用Stack Overflow!看起来您需要学习使用调试器。请自行解决一些问题。如果以后仍有问题,请随时提出更具体的问题。Stack Overflow是一个问答网站,而不是一个家庭作业编写服务。请不要向用户提供此类服务我不相信,谢谢。