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

Java 打印1-100素数并在给定范围内对复合数抛出异常的程序,java,exception-handling,Java,Exception Handling,我已经做了一个程序来打印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++) { i

我已经做了一个程序来打印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);
        }

    }

}
publicstaticvoidmain(字符串[]args){
System.out.println(“1-100之间的素数是:”);
int i=0;
int x=0;
对于(i=1;i=1;x--){
如果(i%x==0){
ctr=ctr+1;
}
}
如果(ctr==2){
系统输出打印LN(i);
}
}
}

您应该在
if(ctr==2){
中添加一个
else
子句,并在其中抛出一个异常。看看如何抛出一个异常。

您应该在
if(ctr==2)中添加一个
else
子句{
并在其中抛出异常。看看如何抛出异常。

你应该在
if(ctr==2){
中添加一个
else
子句,并在其中抛出异常。看看如何抛出异常。

你应该在
if(ctr==2)中添加一个
else
子句{
并在其中抛出异常。看看如何抛出异常。

我宁愿实现
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"); 
    }
  }
}
public静态布尔值isPrime(int值){

if(value我宁愿实现
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"); 
    }
  }
}
public静态布尔值isPrime(int值){

if(value我宁愿实现
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"); 
    }
  }
}
public静态布尔值isPrime(int值){

if(value我宁愿实现
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"); 
    }
  }
}
public静态布尔值isPrime(int值){

如果(值再加一个条件,如。 否则如果(ctr!=2){
抛出新的CompositeException(“复合异常发生”);}

再放入一个类似的条件。 否则如果(ctr!=2){
抛出新的CompositeException(“复合异常发生”);}

再放入一个类似的条件。 否则如果(ctr!=2){
抛出新的CompositeException(“复合异常发生”);}

再放入一个类似的条件。 否则如果(ctr!=2){ 抛出新的复合异常(“发生复合异常”);}

公共空素数(int n1,int n2){

公共空素数(整数n1,整数n2){

公共空素数(整数n1,整数n2){

公共空素数(整数n1,整数n2){



如果你想打印质数1-100,最好使用一个@BoristheSpider。虽然一般来说,埃拉托什尼筛是解决类似问题的更好方法,但如果数字只有100,它会有一点不同。@IvayloStrandjev当然你是对的,1-100不会真的有速度差。但是它是It’也许最好是正确设置,否则扩展到1-10000可能会导致问题…@Boristeider建议了一个算法,我在搜索java代码时发现了同样的算法,如果你想打印素数1-100,最好使用@Boristeider,虽然一般来说,埃拉托斯提尼筛是一种更好的方法ar问题如果数字只有100,会有一点不同。@Ivaylosstrandjev当然你是对的,1-100不会真的有速度差异。但最好是正确设置,否则扩展到1-10000可能会导致问题…@Boristeider建议了一个算法,我在搜索java代码同样的,如果你想打印素数1-100,最好使用一个@BoristheSpider。虽然一般来说,埃拉托什尼筛是解决类似问题的更好方法,但如果数字只有100,它会有一点不同。@IvayloStrandjev当然你是对的,1-100不会真的出现速度差。但最好是正确设置,否则扩展到1-10000可能会导致问题…@Boristeider建议了一个算法,我在搜索java代码时发现了相同的算法,如果你想打印质数1-100,最好使用一个@Boristeider,尽管一般来说,Eratosthenes筛是更好的解决类似问题的方法如果数字只有100,则会有一点不同。@Ivaylosstrandjev当然你是对的,1-100不会有速度差异。但最好是正确设置,否则扩展到1-10000可能会导致问题…@Boristeider建议了一种算法,我在一个java代码中搜索相同的代码,得到了这个结果,但我仍然不知道composite在哪里“composite”的定义是什么@user2992655一个数字是composite当且仅当它不是prime时。但是我仍然不知道composite在哪里“composite”的定义是什么?@user2992655一个数字是复合的当且仅当它不是素数时。但我仍然不知道复合的位置“复合”的定义是什么?@user2992655一个数字是复合的当且仅当它不是素数时。但我仍然不知道复合的位置“复合”的定义是什么?@user2992655一个数字是复合的当且仅当它不是素数时。