Java简单实现狗屁不通文章生产器

万字申请,废话报告,魔幻形式主义大作怎么写?

朋友,狗屁不通文章生成器了解一下。GitHub上,这个富有灵魂的项目名吸引了众人的目光。

项目诞生一周,便冲上了趋势榜榜首。并且,不止名字被注入灵魂,生成的文字也有一股不可抗拒的力量。狗屁不通文章生成器"登顶GitHub热榜。

看到这个新闻想又是大牛在秀技术,当我看了源码之后,我哭了,中文变量什么鬼! 个人弄懂之后实现的Java版本,有趣的玩法大家去网上搜索吧!!!

package cn.waggag.shit;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.IOUtils;

import java.io.FileInputStream;
import java.util.Random;

/**
 * @description: 狗屁不通文章生成器
 * @author: waggag
 * @Date: 2019/11/22
 * @Company: https://www.waggag.cn/
 */
public class BullShit {
    /**
     * @param title  标题
     * @param length 正文长度
     * @return content 返回正文长度
     */
    public static String Generator(String title, int length) {
        String content = "";
        //获取文件的真实路径
        String realPath = getRealPath("data.json");
        try {
            //读取文件中的数据
            FileInputStream fileInputStream = new FileInputStream(realPath);
            String data = IOUtils.toString(fileInputStream, "UTF-8");
            //解析字符串
            JSONObject jsonData = JSON.parseObject(data);
            JSONArray famous = JSON.parseArray(jsonData.get("famous").toString());
            JSONArray before = JSON.parseArray(jsonData.get("before").toString());
            JSONArray after = JSON.parseArray(jsonData.get("after").toString());
            JSONArray bosh = JSON.parseArray(jsonData.get("bosh").toString());
            while (content.length() < length) {
                //获取100以内的随机整数
                Random random = new Random();
                int rand = random.nextInt(100);
                if (rand < 10) {
                    content += "\r\n";
                } else if (rand < 20) {
                    content += ((String) famous.get(random.nextInt(famous.size())))
                            .replace("a", (String) before.get(random.nextInt(before.size())))
                            .replace("b", (String) after.get(random.nextInt(after.size())));
                } else {
                    content += ((String) bosh.get(random.nextInt(bosh.size())));
                    content = content.replace("x", title);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return content;
    }

    /**
     * 根据文件名获取真实路径
     * @param fileName 文件名
     * @return realPath 真实路径
     */
    private static String getRealPath(String fileName) {
        String readPath = null;
        try {
            //根据类加载器获取src文件的绝对路径
            readPath = BullShit.class.getClassLoader().getResource(fileName).getPath();
        } catch (Exception e) {
            System.out.println(("File Not Found " + fileName + "   " + e.getMessage()));
        }
        return readPath;
    }

    public static void main(String[] args) {
        String generator = Generator("我爱Java", 8000);
        System.out.print(generator);
    }
}

Github地址:https://github.com/Yatou-wg/BullshitGenerator.git

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值