2-5 jmu-java-m02-使用列表管理姓名 (20分)
输入若干行字符串,每行代表一个姓名,依次存入数组列表(类型为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:
Tom
Jerry
tom
Tom
Zhang san
Li Si
Zhang san
li si
end
3
Sunxingzhe
1
tom
Jack
输出样例1:
[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:
a
a
a
b
b
b
c
c
c
b
b
b
a
a
a
a
end
1
d
3
f
z
输出样例2:
[a, b, c]
[a, d, b]
k=-1
[a, d, b, z]
作者: 郑如滨
单位: 集美大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<String> namelist = new ArrayList<String>();
ArrayList<String> pp = new ArrayList<String>();
ArrayList<String> qq = new ArrayList<String>();
int k=-1;
String b;
while(!"end".equals(b=in.nextLine())) {
namelist.add(b);
}
for (int i = 0; i < namelist.size() - 1; i++) {
for (int j = namelist.size()-1; j >i; j--) {
if (namelist.get(i).equals(namelist.get(j))) {
namelist.remove(j);
}
}
}
pp=(ArrayList<String>)namelist.clone();
int m = in.nextInt();
String aa = in.nextLine();
String c = in.nextLine();
namelist.add(m,c);
int n = in.nextInt();
namelist.remove(n);
qq=(ArrayList<String>)namelist.clone();
String name1 = in.nextLine();
String kk = in.nextLine();
String name2 = in.nextLine();
for(int i = 0;i<namelist.size();i++) {
if((name1+kk).equals(namelist.get(i))) {
k=i;
}
}
if(k>=0) {
namelist.set(k, name2);
}
else if(k==-1) {
namelist.add(name2);
}
System.out.println(pp);
System.out.println(qq);
System.out.println("k="+k);
System.out.println(namelist);
}
}
本篇博客介绍如何使用Java的ArrayList实现一个姓名管理系统,包括添加、删除、替换和查找姓名的操作,并给出了具体的输入输出示例。
369

被折叠的 条评论
为什么被折叠?



