如题
java如何随机生成中文词组不重复,并且有一定意义。最好的两个字的词组或者三个字的词组,不要太长。----------------------------------------------
或者随即生成拼音也可以。现在急需要 谢谢。我想不出来如何弄了。我可以把汉字转换成拼音,但是拟转换就有问题了。。期待高人能解决。

解决方案 »

  1.   

    生成之后保存到map里面,然后每次生成就比较
      

  2.   


    26个字母只是 用来生成拼音(单词)的元素, 而想要生成的对象(拼音或单词)是在这个基础上排列组合(你的随机其实就是一个排列组合)得来的。想想看吧:彩票每次都是从固定的数字(元素)中选,但最后随机出来的那堆数字才是最终中奖号码(对象)。同理,你这里的词组(单词)才是最终对象。而你要求这里的对象meaningful判断一个单词或词组是否有意义,如果没有规则(词库),机器怎么知道?就算是人去判断,也是脑子里知道哪个是词组(单词),哪个不是吧?对人来说,词库在脑子里面而已
      

  3.   

    不知道你要的随机有意义的不重复的词库量是多大?你这样做的业务需求是什么呢?
    如果要求的数量不多,可以手工录入一些有意义的词组到配置文件,程序加载的时候将配置文件中的内容加载到list,每次随机的时候用iterator来取;
    如果想录入汉字所有有意义的组合而且不重复,似乎是一个不可能完成的任务,因为是海量,为了保证不重复又要有一些操作。