top
  1. public class SearchPrime {
  2.     public static void main(String[] args) {
  3.         for (int number = 2, count = 0; count <= 10; number++) {
  4.             if (isPrime(number)) {
  5.                 System.out.println(number);
  6.                 count++;
  7.             }
  8.         }
  9.     }

  10.     private static boolean isPrime(int number) {
  11.         for (int divisor = 2; divisor <= number / 2; divisor++) {
  12.             if (number % divisor == 0) {
  13.                 return false;
  14.             }
  15.         }
  16.         return true;
  17.     }
  18. }
複製程式碼

TOP

我的程式就是拿你的來改而已,至於你原有的程式,只要將:
  1.             if (J == true) {
  2.                 System.out.println(number);
  3.                 count += 1;
  4.             }
  5.             number += 1;
複製程式碼
放到 for 迴圈外就可以了:
  1. import java.util.*;

  2. public class search_prime {

  3.     public static void main(String[] args) {
  4.         boolean J;
  5.         int count = 0, number = 2;
  6.         int n = 10;

  7.         while (count <= n) {
  8.             J = true;
  9.             for (int divisor = 1; divisor <= number / 2; divisor++) {
  10.                 if (number % divisor == 0 && divisor != 1) {
  11.                     J = false;
  12.                 }
  13.             }
  14.             // 從 for 內拿到外面
  15.             if (J == true) {
  16.                 System.out.println(number);
  17.                 count += 1;
  18.             }
  19.             number += 1;
  20.         }

  21.     }
  22. }
複製程式碼

TOP