产生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 ts = new TreeSet(new Comparator() {

            @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++;
            }

        }
    }



}

你可能感兴趣的:(java进阶练习)