从姓名和姓氏生成字符串

时间:2015-01-16 17:45:49

标签: java string random

我需要从姓名和姓氏中生成字符串。提供更多细节:生成的字符串长度不能超过11。

对于字符串“Leo Messi”,我可以直接生成“Leo Messi”但

对于“Cristiano ronaldo”,你看到长度超过11,我应该产生类似“C. Ronaldo”,“Christiano R。”

另一个例子“迭戈·阿曼多·马拉多纳”我可以创作“D.马拉多纳”,“A。马拉多纳”,“迭戈·A·M”。等等...

我必须找到一个好的算法来生成这些不超过长度11的字符串。你有什么看法。有没有我可以用于此目的的图书馆?

2 个答案:

答案 0 :(得分:2)

如果我是你,我会用一些简单的if语句来设置它。

一些伪代码:

如果整个字符串少于11个字符,请保持原样,然后将其打印出来。

如果不起作用,请查看是否可以少于11个字符打印名字,空格和缩写的姓氏。 (像“Christiano R。”)

如果这不起作用,请查看是否可以打印缩写的名字,空格和姓氏少于11个字符(类似“C.罗纳尔多”)。

否则,缩写两个名称(“C.R。”)

显然这不适用于中间名,但你明白了如何设置它。

至于实际编码,我会让你玩得开心,但是“string”.substring(x,y)是你可能会使用的东西。

答案 1 :(得分:1)

一个简单的算法可以

如果全名超过11个字符,请获取最短的名称,并检查它是否包含较少的字符,以允许您使用其他名称的首字母,否则使用所有名称的首字母