【码歌】JAVA8快速写入和读取文件

话不多说,先看题随机生成 Salary {name, baseSalary, bonus }的记录,如“wxxx,10,1”,每行一条记录,总共1000万记录,写入文本文件(UFT-8编码), 然后读取文件,name的前两个字符相同的,其年薪累加,比如wx,100万,3个人,最后做排序和分组,输出年薪总额最高的10组:wx200万10人lt180万8人...
摘要由CSDN通过智能技术生成

话不多说,先看题

随机生成 Salary {name, baseSalary, bonus }的记录,如“wxxx,10,1”,每行一条记录,总共1000万记录,写入文本文件(UFT-8编码), 然后读取文件,name的前两个字符相同的,其年薪累加,比如wx,100万,3个人,最后做排序和分组,输出年薪总额最高的10组:

wx 200万 10人
lt 180万 8人


name 4位a-z随机,baseSalary [0,100]随机 bonus[0-5]随机 ,年薪总额 = baseSalary*13 + bonus。

思路:

第一步:先编写一个Salary对象

里面包含有namebaseSalary, bounus属性,然后编写一个构造器,重写toString()方法方便序列化数据,同时编写构建Salary对象的方法build();

/**
 *  name 4位a-z随机
 *  baseSalary 0-100随机
 *  bonus 0-5随机
 *  年薪总额 = baseSalary * 13 + bonus
 */
class Salary {
   
    // name 4位a-z随机,baseSalary 0-100随机,bonus 0-5随机 年薪总额 = baseSalary * 13 + bonus
    private String name;
    private int baseSalary;
    private int bonus;

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public int getBaseSalary() {
   
        return baseSalary;
    }

    public void setBaseSalary(int baseSalary) {
   
        this.baseSalary = baseSalary;
    }

    public int getBonus() {
   
        return bonus;
    }

    public void setBonus(int bonus) {
   
        this.bonus = bonus;
    }


    public Salary() {
   

    }

    public Salary(String name, int baseSalary, int bonus) {
   
        this.name = name;
        this.baseSalary = baseSalary;
        this.bonus = bonus;
    }

    public Salary build() {
   
        this.name = getRandomName(4);
        // 0-100随机数
        this.baseSalary = (int)(100 * Math.random());
        // 0-5随机数
        this.bonus = (int)(5 * Math.random());
        return this;
    }

    @Override
    public String toString() {
   
        return name + " " + baseSalary + " " + bonus;
    }

    /**
     * 生产Name随机函数 4位a-z随机
     * @param length
     * @return
     */
    private static String getRandomName(
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值