同人文生成器狗屁不通文章生成器各种生成器 简易写法

同人文生成器/狗屁不通文章生成器/各种生成器 简易写法

网上有很多这种生成器,准备自己用java来写写。作为一个java菜鸡,用到的方法很简单。

主要逻辑就是用ArrayList把句子都添加进去,然后重组。

用同人文生成器举例,首先用Scanner得到主角1和主角2的名字:

     System.out.print("主角1的名字");
     Scanner in = new Scanner ( System.in );
     String x = in.nextLine();
     System.out.print("主角2的名字");
     Scanner in2 = new Scanner ( System.in );
     String y = in.nextLine();

然后生成一个ArrayList,用它来装自己输进去的句子:

ArrayList<String> sentence = new ArrayList <String>();

写一个function来装句子:

putSentences(sentence);
 public static void putSentences(ArrayList<String> sen) {
 sen.add("XXXXX");
 }

然后add后面就可以填入任意句子。

add的时候我们把两个人的名字用特定字符表示(e.g. 主角1是3,主角2是4)要注意这两个字符不能与input主角名的字母重复,因为后面要用到替代,比如我会把所有3都替换成主角1的input name,4都换成主角2的input name。

举个例子:

  sen.add("只有明知与4相关的事情,才能让3感受到岁月的深刻,找到关于未来的支点。");

填好过后,就只用把这些句子重组了,我们写一个function:

System.out.println(getLit(sentence, x, y));
 public static String getLit(ArrayList<String> sen,String n1, String n2)
  {
   String finR = ""; String get = ""; int k = 99;
   while (sen.size()>20)
   { k = (int)(Math.random()*sen.size());
     get = sen.get(k); get = get.replaceAll("3",n1); get=get.replaceAll("4",n2);
     sen.set(k,get);
     finR= finR+ sen.remove(k);}  
   return finR;
  }  
  1. 用random得到一个位置k

  2. 得到k位置的对应句子,然后“换头“。

    这个时候就把所有的特定字符(用来表示主角1和2的)换成我们用Scanner得到的input names。用String的replaceAll这个function来换头。

  3. remove这个k位置上的sentence,把这个remove的return添加到最终的String里。

    这一步可以防止句子重复添加,ArrayList的remove这个方法中,它return的就是我们remove掉的东西。所以相当于我们把选中的句子从ArrayList里remove出来,添加到最终的String里。

  4. 因为我加了很多句子进去,每次不一定要把所有句子都重组,所以写了个while loop,在这个ArrayList长度小于等于20时,就不继续生成了。

  5. 最后return这个finR,也就是最终的String,包含了我们随机换头后的所有句子。

使整篇文章更加通顺,可以适当添加\n来提行。可以写一个random来随机提行,也可以在比较长的句子后面直接写\n提行。

还是挺好玩的,初学者们值得一试!!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  动软代码生成器是一款为程序员精心设计的代码自动生成器。该软件综合了开发中的经典思想和设计模式,支持生成不同架构的项目和代码,完全省去了大量的机械录入的时间和重复动作,让你更加有时间集中在业务逻辑的开发。    动软代码自动生成器 功能特点:   自动生成代码   一键自动生成各种代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。有了它开发项目的效率简直轻松多了。   自动生成三层架构的完整项目和代码:简单三层结构;基于工厂模式三层架构;自定义结构模版   自动生成ASP.NET页面和cs后台代码   自动生成父子表的(事务)的代码   可以自定义代码生成的页面模板,批量生成项目代码。   灵活的代码生成方式   可以自定义手工选择生成的字段。   可以自由设定命名空间和实体类名。   自动生成方法属性注释。   支持对表和视图的代码生成。   支持对多种类型数据库生成代码:如SQLServer2000/2008、Oracle、MySQL、OleDb等。   可以生成多种不同类型数据层代码,例如: 基于SQL字符串方式,基于Parameter方式和基于存储过程方式的数据层。   生成存储过程和数据SQL脚本   可根据选定的数据库和表(可多选),自动生成增、删、改、查等操作的存储过程脚本,和生成表的创建脚本及数据记录的SQL脚本,支持在当前生成和导出脚本文件功能。   自动生成数据库结构文档   可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息。生成相应的表结构文档,免去手工写文档和操作的麻烦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值