A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. /*
  2. 需求:分析以下需求,并用代码实现:
  3.         (1)打印1-100之间的所有素数及个数
  4.         (2)每行输出5个满足条件的数,之间用空格分隔
  5.         (3)如果一个大于1的自然数,这个数只能被1和其本身整除,这个数就叫素数。
  6.         (4)如:2 3 5 7 11
  7. 思路:
  8.         1.因为是1~100之间的数,所以要用for循环遍历1~100的数。又因为是求素数,所以1直接排除在外。只需要遍历2~100即可。
  9.         2.判断是否为素数的办法就是将这个数除以2~自身减1的所有数。一旦这个数能被整除,那么这个数就不是素数。
  10.                 这里我定义一个Judgement类,并在这个类中的定义一个isPrime方法去实现该功能。
  11.         4.要统计个数就要用计数器思想。在for循环外定义一个变量count。每判断出一个素数count就自增1。
  12.         5.因为每行只能输出5个数字,所以用count变量%5来判断是否已经成功打印出5个素数。如果是就插入一个换行符。
  13.         6.外循环执行完以后将count也打印出来。
  14. */

  15. class Task2 {
  16.         public static void main(String[] args) {
  17.                 int count = 0;
  18.                 Judgement ju = new Judgement();                                                //创建一个自定义类,该类具有判断某个数是否为素数的功能。
  19.                 for (int x = 2; x <= 100; x++) {
  20.                         if (Judgement.isPrime(x)==true) {                                //判断当前遍历的数是否为素数
  21.                                 System.out.print(x+"\t");
  22.                                 count++;                                                                        //记录打印次数。
  23.                                 if (count % 5 == 0) {                                                //判断是否已经打印了5次,如果是就换行。
  24.                                         System.out.println();
  25.                                 }
  26.                         }
  27.                 }
  28.                 System.out.println("素数的个数为:"+count);
  29.         }
  30. }

  31. //定义一个类,该类具有判断某个数是否为素数的功能。
  32. class Judgement {
  33.         static boolean isPrime (int num) { //定义一个静态的函数,该函数的返回值为 boolean,需要一个int类型的参数。
  34.                 //判断传进来的参数是否为素数,如果不是返回 false,否则返回 true。
  35.                 for (int x = 2; x < num; x++) {
  36.                         if (num % x == 0) {
  37.                                 return false;
  38.                         }
  39.                 }
  40.                 return true;
  41.         }
  42. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马