我需要从姓名和姓氏中生成字符串。提供更多细节:生成的字符串长度不能超过11。
对于字符串“Leo Messi”,我可以直接生成“Leo Messi”但
对于“Cristiano ronaldo”,你看到长度超过11,我应该产生类似“C. Ronaldo”,“Christiano R。”
另一个例子“迭戈·阿曼多·马拉多纳”我可以创作“D.马拉多纳”,“A。马拉多纳”,“迭戈·A·M”。等等...
我必须找到一个好的算法来生成这些不超过长度11的字符串。你有什么看法。有没有我可以用于此目的的图书馆?
答案 0 :(得分:2)
如果我是你,我会用一些简单的if语句来设置它。
一些伪代码:
如果整个字符串少于11个字符,请保持原样,然后将其打印出来。
如果不起作用,请查看是否可以少于11个字符打印名字,空格和缩写的姓氏。 (像“Christiano R。”)
如果这不起作用,请查看是否可以打印缩写的名字,空格和姓氏少于11个字符(类似“C.罗纳尔多”)。
否则,缩写两个名称(“C.R。”)
显然这不适用于中间名,但你明白了如何设置它。
至于实际编码,我会让你玩得开心,但是“string”.substring(x,y)是你可能会使用的东西。
答案 1 :(得分:1)
一个简单的算法可以
如果全名超过11个字符,请获取最短的名称,并检查它是否包含较少的字符,以允许您使用其他名称的首字母,否则使用所有名称的首字母