产生10个1-100的随机整数, * 把其中的奇数按照从小到大的顺序进行排序, * 并按照“1,2,3,、、、”这样的格式打印到d盘下的number.txt文档中。

package com.heima.test;

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.Random;
import java.util.TreeSet;

public class Rondom {

    /** * 产生10个1-100的随机整数, * 把其中的奇数按照从小到大的顺序进行排序, * 并按照“1,2,3,、、、”这样的格式打印到d盘下的number.txt文档中。 * @param args * @throws IOException */
    public static void main(String[] args) throws IOException {
        //产生10个1-100的随机整数,存放到treeset集合中
        TreeSet<Integer> ts = new TreeSet<Integer>(new Comparator<Integer>() {

            @Override
            public int compare(Integer o1, Integer o2) {
                //对奇数进行排序,从小到大,可以重复
                if(o2 % 2 != 0){
                    int num = o1 - o2;
                    return num == 0 ? 1 : num;
                }else {
                    //偶数可以重复
                    return 1;
                }
            }
        });
        Random ron = new Random();
        while(ts.size() < 10){
            //获取1--100整数,加进集合
            int num = ron.nextInt(100) + 1;
            ts.add(num);
        }
        /*//定义输出流 FileWriter fos = new FileWriter("d:\\number.txt"); //遍历集合写出 for (Integer i : ts) { fos.write(i.toString() +","); } fos.close();*/
        FileOutputStream fos = new FileOutputStream("number.txt");
        int i = 0;
        for (Integer integer : ts) {
            if(i == ts.size() - 1){
                fos.write(integer.toString().getBytes());
            }else{
                fos.write(integer.toString().getBytes());
                fos.write(",".getBytes());
                i++;
            }

        }
    }



}

你可能感兴趣的:(排序,随机数,集合,指定格式输出)