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

我做了一个关于求素数的项目,但它说只有二的倍数才不是素数。你能发现错误吗

吴展
2023-03-14

导入java.util.scanner;

公共类ForExamplesPrimeNumbers{

public static void main(String[] args) {
    // Finding Prime Numbers
    
    Scanner scan = new Scanner(System.in);
    
    int input;
    do {
        System.out.print("Please enter a positive number : ");
        input = scan.nextInt();
    }while(input < 2);
    
    for(int i=2; i < input; i++) {
        if(input%i!=0) {
            System.out.print("The number is prime number.");
            break;
        }else if(input%i==0) {
            System.out.print("The number is not a prime number.");
            break;
        }
    }
    

}

}

你们能找到我的错在哪里吗?

共有1个答案

宇文修文
2023-03-14

如果是素数,你应该在一个循环中检查所有的数字。使用布尔变量存储Primeness。

boolean prime = true;
for(int i=2; i < input; i++) {
    if (input%i==0) {
        prime = false;
        break;
    }
}
if (prime) {
    System.out.print("The number is prime number.");
} else {
    System.out.print("The number is not a prime number.");
}
 类似资料:
  • 问题内容: 我实现了一个Java程序,该程序将使用JSCH在远程服务器中连接并执行命令。问题是,每当我尝试连接到服务器时,都会出现以下异常: 我尝试了在jre / lib和security.provider中添加Bouncy Castle提供程序的解决方案,它可以正常工作。但是我需要使其依赖于项目,因此我尝试在构建路径中添加Bouncy Castle,并在程序中手动添加Bouncy Castle提

  • 本文向大家介绍怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码?相关面试题,主要包含被问及怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码?时的应答技巧和注意事项,需要的朋友参考一下 1、判断一个数是不是二的倍数,即判断该数二进制末位是不是0: a % 2 == 0 或者a & 0x0001 == 0。 2、求一个数中1的位数,可以直接逐位除十取

  • 我的项目中基本上有用户和角色实体。 这是我的控制器课程 这是我的UserManager课程 当我请求http://localhost:8080/api/users时,我得到了这样的错误数据 我的错在哪里?提前感谢您的回答。

  • 我做了一个简单的排序函数,但由于某种原因,它仍然返回原始列表。

  • 我的IDE是Eclipse IDE 2020.03,使用由gradlew setDecompWorkspace和gradlew eclipse制作的Minecraft mods目录 我已经尝试将-vm目录更改为jdk 1.8.0和jre/bin/javaw.exe 错误显示:错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 代码和eclipse。ini看起来像这样:

  • Foo Corporation需要一个程序来计算每小时员工的工资。 美国劳工部要求员工一周工作超过40小时,可以获得1.5小时的报酬。 例如,如果员工工作45小时,他们将获得5小时的加班时间,是基本工资的1.5倍。 马萨诸塞州要求小时工的工资至少为每小时8.00美元。 Foo Corp要求员工每周工作时间不超过60小时。 员工每小时最多可领取40小时的工资(工作小时数)×(基本工资)。每超过40小