JavaSE-P7

编程题:
1:获取10个1-20之间的随机数,要求不能重复

package myRandom;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 2:获取10个1-20之间的随机数,要求不能重复
 * @author 花花
 *
 */
public class UniqueRandom {

    public static void main(String[] args) {
        int number;
        Collection c=new ArrayList();
        for(int i=0;i<10;i++) {
            number=1+(int)(Math.random()*20);
            if(!c.contains(number)) //确保没有重复的元素
            {
                c.add(number);
            }       
        }//for循环结束
        System.out.println(c);
    }//main结束
    /*
     * 运行结果:
     * [14, 17, 15, 19, 20, 8, 13]
     */
}

方式二:

package myRandom;

import java.util.Random;

/**
 * 1:获取10个1-20之间的随机数,要求不能重复
 * 
 * Random:产生一个随机数的类:
 * 
 *  构造方式:
 *      public Random()创建一个新的随机数生成器:默认种子不给定long类型的时间毫秒值
 *  成员方法:
 *      public int nextInt():由随机数生成器调用这个方法,随机数的范围在int类型的范围之内
 *      public int nextInt(int n):生成随机数的范围:[0,n):使用比较多
 * @author 花花
 *
 */
public class RandomClass {
    public static void main(String[] args) {

        Random r=new Random();
        for(int i=1;i<=10;i++) {
            int number=r.nextInt(20)+1;
            System.out.print(number+"  ");
        }
    }
}

这里写图片描述
2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值

package collection;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;
/**
 * 2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
 * @author 花花
 *
 */
public class DataInput {
    public static void main(String[] args) {

        TreeSet<Integer> al=new TreeSet<Integer>(new Comparator<Integer>() {
            @Override
            public int compare(Integer n1, Integer n2) {//升序排列
                int num=n1-n2;
                return num;
            }       
        });
        System.out.println("请输入数据(以0结束):");
        Scanner sc=new Scanner(System.in);
        int a;
        while((a=sc.nextInt())!=0) {
            al.add(a);
        }
        /*
        for(Integer i:al) {
            System.out.println(i);
        }*/
        System.out.println("最大数为"+al.last());//升序排列后,此集合中最后一个元素就是最大的
    }
}

这里写图片描述

posted @ 2017-11-14 21:13  快乐的内啡肽呀  阅读(26)  评论(0)    收藏  举报