Java每日一题(3)

发布时间:2019-07-04 10:03:11编辑:auto阅读(1374)

    题目:
    使用java.lang.Math类,生成100个0到99之间的随机整数,找出它们之中的最大者和最小者,并统计大于50的整数个数
     
    已有答案:
     
    另答:
    /**
    *    
    */

    package math;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Random;

    /**
    * @author daniel zhou
    *
    */

    public class RandomTest {

      /**
        * Create 100 random numbers, get min & max number, sun up the number of >50
        * @param args
        */

      public static void main(String[] args) {
        /**
         * Here main show how to create an random number in some scope
        // get random by java.lang.Math
        double random = Math.random()*100;
        int in=(int) random;    
        System.out.println(random);
        System.out.println(in);
        // get random by java.util.Random
        Random ra=new Random();
        System.out.println(ra.nextInt(100));
        **/

        
        //create 100 random number
        ArrayList<Integer> arraylist=new ArrayList<Integer>();
        Random rand=new Random();
        int total_50=0;
        for (int i = 0; i < 100; i++) {
          int num=rand.nextInt(100);
          arraylist.add(Integer.valueOf(num));
          //get number of >50
          if(num>50)total_50++;
        }
        System.out.println("numbers of >50 is: "+total_50);
        
        //sort the arraylist
        Comparator<Integer> comp=new MyComparator();
        Collections.sort(arraylist, comp);
        //out min & max
        System.out.println("Min number is: "+arraylist.get(0));
        System.out.println("Max number is: "+arraylist.get(99));
        
      }
        
    }

     
    Comparator:
    package math;

    import java.util.Comparator;
    /**
    *    
    * @author daniel zhou
    *
    */

    public class MyComparator implements Comparator<Integer>{

      @Override
      public int compare(final Integer o1, final Integer o2) {
        final Integer x=(Integer)o1;
        final Integer y=(Integer)o2;
        if (x>y) {
          return 1;
        }else{
          return 0;
        }
      }
        
    }
     
    或者将比较器写为一个内部类也是可以的,代码如下:
    /**
    *    
    */

    package math;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Random;

    /**
    * @author daniel zhou
    *
    */

    public class RandomTest {

      /**
        * Create 100 random numbers, get min & max number, sun up the number of >50
        * @param args
        */

      public static void main(String[] args) {

        
        //create 100 random number
        ArrayList<Integer> arraylist=new ArrayList<Integer>();
        Random rand=new Random();
        int total_50=0;
        for (int i = 0; i < 100; i++) {
          int num=rand.nextInt(100);
          arraylist.add(Integer.valueOf(num));
          //get number of >50
          if(num>50)total_50++;
        }
        System.out.println("numbers of >50 is: "+total_50);
        
        //sort the arraylist
        Comparator<Integer> comp=new MyComparator();
        Collections.sort(arraylist, comp);
        //out min & max
        System.out.println("Min number is: "+arraylist.get(0));
        System.out.println("Max number is: "+arraylist.get(99));
        
      }
        
      public static class MyComparator implements Comparator<Integer>{

        @Override
        public int compare(final Integer o1, final Integer o2) {
          final Integer x=(Integer)o1;
          final Integer y=(Integer)o2;
          if (x>y) {
            return 1;
          }else{
            return 0;
          }
        }
        
      }
    }

     

关键字

上一篇: python 基础学习

下一篇: php oop3乱七八糟的