编程题:jmu-java-m02-使用列表管理姓名
输入若干行字符串,每行代表一个姓名,依次存入数组列表(类型为ArrayList)nameList中,**每个名字只能加入一次**。
现在nameList相当于一个存储姓名的数据库,可以对nameList进行适当的操作,以实现姓名管理系统。
### 输入与输出格式:
输入不定个数的姓名字符串,直到遇到**end**为止,依次将字符串存入数组列表nameList。**注意:每个名字只能存1次**。
输出nameList中所有元素。(请使用System.out.println(nameList)输出列表元素。)
**接下来:**
输入下标i
输入字符串x,然后加到nameList的第i个位置。
输入下标j,然后移除下标为j的姓名。
**输出**nameList中所有元素。
**最后:**
输入字符串name1
输入字符串name2
输出字符串name1所在下标k(从前往后找)。
如果k>=0,将name2放在nameList中下标k位置处(即,替换掉原来k位置的元素)。否则,如果k=-1,将name2直接添加nameList最后一个元素之后。
最后输出nameList。
### 输入样例1:
in
Tom
Jerry
tom
Tom
Zhang san
Li Si
Zhang san
li si
end
3
Sunxingzhe
1
tom
Jack
### 输出样例1:
out
[Tom, Jerry, tom, Zhang san, Li Si, li si]
[Tom, tom, Sunxingzhe, Zhang san, Li Si, li si]
k=1
[Tom, Jack, Sunxingzhe, Zhang san, Li Si, li si]
### 输入样例2:
in
a
a
a
b
b
b
c
c
c
b
b
b
a
a
a
a
end
1
d
3
f
z
### 输出样例2:
out
[a, b, c]
[a, d, b]
k=-1
[a, d, b, z]
答案:若无答案欢迎评论
1. ArrayList的基础用法,详见[PTA中提交Java程序的一些套路](https://www.cnblogs.com/zhrb/p/6347738.html)中的**6.动态创建数组与ArrayList**。
2. ArrayList的详细用法请参考JDK文档。
3. 处理输入时,不要将nextLine与其他next方法混用。
4. "输出字符串name1所在下标k",可使用ArrayList中的某个方法直接实现.详见JDK文档.
现在nameList相当于一个存储姓名的数据库,可以对nameList进行适当的操作,以实现姓名管理系统。
### 输入与输出格式:
输入不定个数的姓名字符串,直到遇到**end**为止,依次将字符串存入数组列表nameList。**注意:每个名字只能存1次**。
输出nameList中所有元素。(请使用System.out.println(nameList)输出列表元素。)
**接下来:**
输入下标i
输入字符串x,然后加到nameList的第i个位置。
输入下标j,然后移除下标为j的姓名。
**输出**nameList中所有元素。
**最后:**
输入字符串name1
输入字符串name2
输出字符串name1所在下标k(从前往后找)。
如果k>=0,将name2放在nameList中下标k位置处(即,替换掉原来k位置的元素)。否则,如果k=-1,将name2直接添加nameList最后一个元素之后。
最后输出nameList。
### 输入样例1:
in
Tom
Jerry
tom
Tom
Zhang san
Li Si
Zhang san
li si
end
3
Sunxingzhe
1
tom
Jack
### 输出样例1:
out
[Tom, Jerry, tom, Zhang san, Li Si, li si]
[Tom, tom, Sunxingzhe, Zhang san, Li Si, li si]
k=1
[Tom, Jack, Sunxingzhe, Zhang san, Li Si, li si]
### 输入样例2:
in
a
a
a
b
b
b
c
c
c
b
b
b
a
a
a
a
end
1
d
3
f
z
### 输出样例2:
out
[a, b, c]
[a, d, b]
k=-1
[a, d, b, z]
答案:若无答案欢迎评论
1. ArrayList的基础用法,详见[PTA中提交Java程序的一些套路](https://www.cnblogs.com/zhrb/p/6347738.html)中的**6.动态创建数组与ArrayList**。
2. ArrayList的详细用法请参考JDK文档。
3. 处理输入时,不要将nextLine与其他next方法混用。
4. "输出字符串name1所在下标k",可使用ArrayList中的某个方法直接实现.详见JDK文档.