java - 程序打印 1-100 素数并对给定范围内的合数抛出异常

标签 java exception

我编写了一个程序来打印 1-100 个素数。 请帮我抛出 1-100 范围内的合数异常。 我是初学者,所以任何帮助将不胜感激。

  public static void main(String[] args) {

    System.out.println("Prime numbers from 1 - 100 are :");
    int i = 0;
    int x = 0;

    for (i = 1; i <= 100; i++) {

        int ctr = 0;
        for (x = i; x >= 1; x--) {
            if (i % x == 0) {
                ctr = ctr + 1;
            }
        }
        if (ctr == 2) {
            System.out.println(i);
        }

    }

}

最佳答案

我宁愿实现 isPrime 方法并调用它

public static boolean isPrime(int value) {
  if (value <= 1)
    return false;

  // There's only one even prime: that is two 
  if ((value % 2) == 0) 
    return (value == 2);

  int from = (int) (Math.sqrt(value) + 1);

  // You have to check possible divisors from 3 to sqrt(value)
  for (int i = 3; i <= from; i += 2)
    if ((value % i) == 0)
      return false;

  return true;
}

public static void main(String[] args) {
  ...

  for (int i = 1; i <= 100; ++i) {
    if (isPrime(i)) 
      System.out.println(i);
    else {
      // i is not prime. You can do nothing, throw an exception etc
      // throw new MyException("Not a prime"); 
    }
  }
}

关于java - 程序打印 1-100 素数并对给定范围内的合数抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840396/

相关文章:

java - for 循环计数 java 的项数

java - 关闭 Eclipse RCP 4 中的部件时的自定义消息

Javascript Google Signin 未捕获异常 [object Object]

java - 当服务中抛出异常时 Spring boot ExceptionHandler

java - catch block 中的链异常

spring - 如何在 Spring AMQP 框架下捕获 AmqpConnectException?

java - 交织字符串的动态规划问题解决方案

java - 如何使用 Java 配置在 Google OAuth2 AccountChooser 中设置托管域参数?

Java 随 secret 码生成器

java - 什么时候应该使用 Throwable 而不是 new Exception?