东莞某世界500强企业面试题

图片说明

这是一道笔试题,如图:

具体内容如下:

用户输入字符串"Bob:29;Jack:28;Lily:27;Bob:30;Jack:26;Lily:31";

(1)字符串中的有两个字段分别是"name","age";
(2)每个用户信息用";"隔开。

你通过编写代码输出如下:

name=Bob,age=30
name=Bob,age=29
name=Jack,age=28
name=Jack,age=26
name=Lily,age=31
name=Lily,age=27

注意:1、先通过name进行排序,再通过age进行排序
2、考虑空间和时间的效率进行编码

                (望大家帮忙)

1个回答

public static void main(String[] args) {
String str = "Bob:29;Jack:28;Lily:27;Bob:30;Jack:26;Lily:31";
String[] strs=str.split(";");
Arrays.sort(strs);
for(String s:strs){
System.out.println("name="+s.substring(0,s.indexOf(":"))+",age="+s.substring(s.indexOf(":")+1));
}
}
这个是正确的输出:
name=Bob,age=29
name=Bob,age=30
name=Jack,age=26
name=Jack,age=28
name=Lily,age=27
name=Lily,age=31

weixin_44971500
� ° 김 광 일 .゛� 回复苍生涂炭: 我改了一下 你试试这个写法
6 个月之前 回复
weixin_44971500
� ° 김 광 일 .゛� 我写的这个能实现拼接 需要排序输出的话再M我
6 个月之前 回复
weixin_44410334
苍生涂炭 谢谢,我按照你说去试一下
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!