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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小学生0987 中级黑马   /  2012-11-9 11:35  /  1747 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,编写程序,判断给定的某个年份是否是闰年。
      闰年的判断规则如下:
      (1)若某个年份能被4整除但不能被100整除,则是闰年。
      (2)若某个年份能被400整除,则也是闰年。
2,给定一个百分制的分数,输出相应的等级。
        90分以上        A级
        80~89          B级
        70~79          C级
        60~69          D级
        60分以下        E级
3、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,
   例如: 153 = 1*1*1 + 3*3*3 + 5*5*5  
4、求 2/1+3/2+5/3+8/5+13/8.....前20项之和?

5、利用程序输出如下图形:
   *
   * * *
   * * * * *
   * * * * * * *
   * * * * *
   * * *
   *
6、计算圆周率
  PI=4-4/3+4/5-4/7.......
  打印出第一个大于 3.1415小于 3.1416的值

7、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和
  打印出所有的可能


8,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课
   按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。
   (1)循环给二维数组的每一个元素赋0~100之间的随机整数。
   (2)按照列表的方式输出这些学员的每门课程的成绩。
   (3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。
   (4)要求编写程序求所有学员的某门课程的平均分。

9. 约梭芬杀人法
   把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。
10. 判断随机整数是否是素数
产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是?
写完一道就贴出来分享吧!!

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

1 个回复

正序浏览
  1. public class Test1 {
  2.         /*
  3.          * 1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。
  4.          * (2)若某个年份能被400整除,则也是闰年。
  5.          */
  6.         public static void main(String[] args) {
  7.                 System.out.println(isRunNian(1988));
  8.         }

  9.         public static boolean isRunNian(int m) {
  10.                 boolean flag = false;
  11.                 if (m % 4 == 0 && m % 100 != 0) {
  12.                         flag = true;
  13.                 } else if (m % 400 == 0) {
  14.                         flag = true;
  15.                 }
  16.                 return flag;
  17.         }
  18. }
复制代码
  1. public class Test2 {

  2.         /**
  3.          *2,给定一个百分制的分数,输出相应的等级。
  4.         90分以上        A级
  5.         80~89          B级
  6.         70~79          C级
  7.         60~69          D级
  8.         60分以下        E级

  9.          */
  10.         public static void main(String[] args) {
  11.                 System.out.println(level(87));
  12.                 System.out.println(level(74));
  13.                 System.out.println(level(97));
  14.                 System.out.println(level(65));
  15.                 System.out.println(level(45));
  16.                 System.out.println(level(101));
  17.         }
  18.         public static String level(int score) {
  19.                 if(score > 100 || score < 0) {
  20.                         return "输入的分数不正确,请重新输入。";
  21.                 } else if(score >= 90) {
  22.                         return "A级";
  23.                 } else if(score >= 80) {
  24.                         return "B级";
  25.                 } else if(score >= 70) {
  26.                         return "C级";
  27.                 } else if(score >= 60) {
  28.                         return "D级";
  29.                 } else {
  30.                         return "E级";
  31.                 }
  32.         }

  33. }
复制代码
  1. public class Test3 {

  2.         /**
  3.          * 3、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,
  4.    例如: 153 = 1*1*1 + 3*3*3 + 5*5*5  
  5.          */
  6.         public static void main(String[] args) {
  7.                
  8.                 for(int i=100; i<1000; i++) {
  9.                        
  10.                         int bai = i / 100;
  11.                         int shi = i / 10 % 10;
  12.                         int ge = i % 10;
  13.                        
  14.                         if(i == bai*bai*bai + shi*shi*shi + ge*ge*ge) {
  15.                                 System.out.println(i);
  16.                         }
  17.                        
  18.                 }

  19.         }

  20. }
复制代码
  1. public class Test4 {

  2.         /**
  3.          * 4、求 2/1+3/2+5/3+8/5+13/8.....前20项之和?
  4.          */
  5.         public static void main(String[] args) {
  6.                 FenShu fsSum = new FenShu(0,1);
  7.                
  8.                 for(int i=1; i<=20; i++) {
  9.                         System.out.print(getNum(i+1) + ",");
  10.                         System.out.print(getNum(i) + ",");
  11.                         System.out.println(new FenShu(getNum(i+1),getNum(i)));
  12.                         fsSum = fsSum.add(new FenShu(getNum(i+1),getNum(i)));
  13.                         System.out.println(fsSum);
  14.                 }
  15.                 System.out.println(fsSum);
  16.                
  17.         }

  18.         public static int getNum(int n) {
  19.                 if(n == 1) {
  20.                         return 1;
  21.                 } else if(n ==2) {
  22.                         return 2;
  23.                 } else {
  24.                         return getNum(n-1) + getNum(n-2);
  25.                 }
  26.         }

  27.         // 内部类,定义一个分数。
  28.         public static class FenShu {
  29.                 private int zi;
  30.                 private int mu;

  31.                 public FenShu(int zi, int mu) {
  32.                         this.zi = zi;
  33.                         this.mu = mu;
  34.                 }

  35.                 public FenShu add(FenShu fs) {
  36.                         int muNum = getMinGBS(this.mu, fs.mu);
  37.                         int gys = getMaxGYS(this.mu, fs.mu);
  38.                         int ziNum = this.zi * fs.mu / gys + fs.zi * this.mu / gys;
  39.                         return getSimpleFenShu(ziNum, muNum);
  40.                 }

  41.                 public FenShu getSimpleFenShu(int m, int n) {
  42.                         int gys = getMaxGYS(m, n);
  43.                         if (gys != 1) {
  44.                                 return new FenShu(m / gys, n / gys);
  45.                         }

  46.                         return new FenShu(m, n);
  47.                 }

  48.                 public String toString() {
  49.                         return zi + "/" + mu;
  50.                 }

  51.         }

  52.         // 获取两数的最大公约数。
  53.         public static int getMaxGYS(int m, int n) {
  54.                 // 交换m,n的位置,保证大数在前。
  55.                 if (m < n) {
  56.                         m ^= n;
  57.                         n ^= m;
  58.                         m ^= n;
  59.                 }
  60.                
  61.                 if(n == 0) {
  62.                         return 1;
  63.                 }

  64.                 int r;
  65.                 while ((r = m % n) != 0) {
  66.                         m = n;
  67.                         n = r;
  68.                 }
  69.                 return n;
  70.         }

  71.         public static int getMinGBS(int m, int n) {
  72.                 return m * n / getMaxGYS(m, n);
  73.         }

  74. }
复制代码
  1. public class Test5 {

  2.         /**
  3.          * 5、利用程序输出如下图形:
  4.    *
  5.    * * *
  6.    * * * * *
  7.    * * * * * * *
  8.    * * * * *
  9.    * * *
  10.    *

  11.          */
  12.         public static void main(String[] args) {
  13.                 print(7);
  14.         }
  15.         public static void print(int n) {
  16.                 int count = 1;
  17.                 for(int i=0; i<n; i++) {
  18.                         for(int j=0; j<count; j++) {
  19.                                 System.out.print("* ");
  20.                         }
  21.                         System.out.println();
  22.                         if(i < n / 2) {
  23.                                 count += 2;
  24.                         } else {
  25.                                 count -=2;
  26.                         }
  27.                 }
  28.         }

  29. }
复制代码
  1. public class Test6 {
  2.         /*
  3.          * 6、计算圆周率
  4.   PI=4-4/3+4/5-4/7.......
  5.   打印出第一个大于 3.1415小于 3.1416的值


  6.          */

  7.         public static void main(String[] args) {
  8.                 int count = 0;
  9.                 double p = 0;
  10.                 while(!(p > 3.1415 && p < 3.1416)) {
  11.                         count++;
  12.                         if(count % 2 != 0) {
  13.                                 p += 4.0 / (2 * count - 1);
  14.                         } else {
  15.                                 p -= 4.0 / (2 * count - 1);
  16.                         }
  17.                 }
  18.                
  19.                 System.out.println(p);
  20.                 System.out.println("总共计算了" + count + "项。");
  21.         }
  22. }
复制代码
  1. public class Test7 {

  2.         /**
  3.          * 7、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和
  4.   打印出所有的可能
  5.          */
  6.         public static void main(String[] args) {
  7.                 for(int i=6; i<100; i++) {
  8.                         list(i);
  9.                 }
  10.         }
  11.        
  12.         public static void list(int m) {
  13.                 if(m <= 6 || m % 2 != 0) {
  14.                         //System.out.println("请输入大于6的偶数。");
  15.                         return;
  16.                 }
  17.                
  18.                 for(int i=2; i<m; i++) {
  19.                         for(int j=2; j<=i; j++) {
  20.                                 if(isZhiShu(i) && isZhiShu(j) && m == i + j) {
  21.                                         System.out.println(m + " = " + i + " + " + j);
  22.                                 }
  23.                         }
  24.                 }
  25.                 System.out.println("*******************************************************");
  26.         }
  27.        
  28.         public static boolean isZhiShu(int m) {
  29.                 double len = Math.sqrt(m);
  30.                 for(int i=2; i<=len; i++) {
  31.                         if(m % i == 0) {
  32.                                 return false;
  33.                         }
  34.                 }
  35.                 return true;
  36.         }

  37. }
复制代码
  1. import java.util.Random;

  2. public class Test8 {

  3.         /**
  4.          * 8,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课
  5.    按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。
  6.    (1)循环给二维数组的每一个元素赋0~100之间的随机整数。
  7.    (2)按照列表的方式输出这些学员的每门课程的成绩。
  8.    (3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。
  9.    (4)要求编写程序求所有学员的某门课程的平均分
  10.          */
  11.         public static void main(String[] args) {
  12.                 Random rand = new Random();
  13.                 String[] arr = {"core C++","coreJava","Servlet","JSP","EJB"};
  14.                 int[][] score = new int[20][];
  15.                
  16.                 //赋值
  17.                 for(int i=0; i<score.length; i++) {
  18.                         score[i] = new int[5];
  19.                         for(int j=0; j<score[i].length; j++) {
  20.                                 score[i][j] = rand.nextInt(100);
  21.                         }
  22.                 }
  23.                
  24.                 //打印输出
  25.                 for(int i=0; i<score.length; i++) {
  26.                         System.out.println("学生" + (i+1) + "各科成绩:");
  27.                         for(int j=0; j<score[i].length; j++) {
  28.                                 System.out.print( arr[j] + ":" + score[i][j] + "\t");
  29.                         }
  30.                         System.out.println();
  31.                 }
  32.                
  33.                 System.out.println("********************************************************");
  34.                 //求各学生的总分,存放到一个一维数组中。
  35.                 int[] sum = new int[20];
  36.                 for(int i=0; i<score.length; i++) {
  37.                         int temp = 0;
  38.                         for(int j=0; j<score[i].length; j++) {
  39.                                 temp += score[i][j];
  40.                         }
  41.                         sum[i] = temp;
  42.                 }
  43.                 //打印总分
  44.                 int count = 0;
  45.                 for(int x : sum) {
  46.                         count++;
  47.                         System.out.println("学生" + count + "总成绩:" + x);
  48.                 }
  49.                 System.out.println("********************************************************");
  50.                
  51.                 //求平均分
  52.                 double[] avg = new double[5];
  53.                 for(int i=0; i<score.length; i++) {
  54.                         for(int j=0; j<score[i].length; j++) {
  55.                                 avg[j] += score[i][j]*1.0/20;
  56.                         }
  57.                 }
  58.                
  59.                 //打印平均
  60.                 for(int i=0; i<avg.length; i++) {
  61.                         System.out.println(arr[i] + "的平均分是:" + avg[i]);
  62.                 }
  63.                
  64.         }

  65. }
复制代码
  1. import java.util.ArrayList;

  2. public class Test9 {

  3.         /**
  4.          * 9. 约梭芬杀人法
  5.    把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。
  6.          */
  7.         public static void main(String[] args) {
  8.                 killTurn(10);
  9.         }
  10.        
  11.         public static void killTurn(int m) {
  12.                 ArrayList<Integer> al = new ArrayList<Integer>();
  13.                 for(int i=1; i<=m; i++) {
  14.                         al.add(i);
  15.                 }
  16.                
  17.                 int index = 0;
  18.                 while(al.size()!=0) {
  19.                         if(al.size()>=7) {
  20.                                 index = al.remove(6);
  21.                                 System.out.println("第" + index + "个人被杀掉。");
  22.                         } else {
  23.                                 int len = al.size();
  24.                                 while(len < 7) {
  25.                                         len += al.size();
  26.                                 }
  27.                                
  28.                                 index = al.remove(al.size() -(len-7) -1);
  29.                                 System.out.println("第" + index + "个人被杀掉。");
  30.                         }
  31.                 }
  32.                
  33.                
  34.         }

  35. }
复制代码
  1. import java.util.Random;

  2. public class Test10 {

  3.         /**
  4.          * 10. 判断随机整数是否是素数
  5. 产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是?
  6.          */
  7.         public static void main(String[] args) {
  8.                 Random rand = new Random();
  9.                 String str = null;
  10.                 for(int i=0; i<100; i++) {
  11.                         int num = rand.nextInt(1000);
  12.                         if(isSuShu(num)) {
  13.                                 str = "是素数。";
  14.                         } else {
  15.                                 str = "不是素数。";
  16.                         }
  17.                         System.out.println("本次随机数为:" + num + ",\t" + str);
  18.                 }
  19.         }
  20.        
  21.         public static boolean isSuShu(int m) {
  22.                 double len = Math.sqrt(m);
  23.                 for(int i=2; i<len; i++) {
  24.                         if(m % i == 0) {
  25.                                 return false;
  26.                         }
  27.                 }
  28.                 return true;
  29.         }

  30. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马