Java 在文件中搜索字符串、添加字符串和删除字符串
我有一个文件,里面有人的物品清单。字符串名、字符串姓氏和int id。我需要一个方法对其进行排序,一个方法向数组中添加名称,一个方法从列表中删除名称,以及一个方法搜索列表。 更新:这些方法可以工作,但我需要在另一个类中的主方法的switch语句中使用这些方法。我需要重新命名它们吗?或者如何重命名? 公共阶级主义者{ 字符串fn; 字符串ln; int-id; 静态人pJava 在文件中搜索字符串、添加字符串和删除字符串,java,file,filewriter,Java,File,Filewriter,我有一个文件,里面有人的物品清单。字符串名、字符串姓氏和int id。我需要一个方法对其进行排序,一个方法向数组中添加名称,一个方法从列表中删除名称,以及一个方法搜索列表。 更新:这些方法可以工作,但我需要在另一个类中的主方法的switch语句中使用这些方法。我需要重新命名它们吗?或者如何重命名? 公共阶级主义者{ 字符串fn; 字符串ln; int-id; 静态人p List<Person> myList = new ArrayList<Person>(); publ
List<Person> myList = new ArrayList<Person>();
public aList(File fi) throws FileNotFoundException {
Scanner sc = new Scanner(fi);
while (sc.hasNext()) {
fn = sc.next();
ln = sc.next();
id = sc.nextInt();
System.out.println(fn + " " + ln + " " + id);
p = new Person(fn, ln, id);
myList.add(p);
}
System.out.println("After reading in the file \n");
for (int i = 0; i < myList.size(); i++) {
System.out.print(myList.get(i).toString() + "\t");
}
System.out.println("\n");
sc.close();
}
public void sortIt() {
Collections.sort(myList);
System.out.println(" After sorting \n");
for (int i = 0; i < myList.size(); i++) {
System.out.print(myList.get(i).toString() + "\t");
}
}
public void add(String name) {
myList.add(new Person(name, name, id));
}
public void remove(String name) {
for (Person p : myList) {
if (p.getName().equals(name)) {
myList.remove(p);
} else
System.out.print("Not a valid name");
}
}
public Person find(String name) {
for (Person p : myList) {
if (p.getName().equals(name)) {
return p;
}
}
return p;
}
List myList=new ArrayList();
公共列表(文件fi)抛出FileNotFoundException{
扫描仪sc=新扫描仪(fi);
while(sc.hasNext()){
fn=sc.next();
ln=sc.next();
id=sc.nextInt();
System.out.println(fn+“”+ln+“”+id);
p=新人(fn、ln、id);
添加(p);
}
System.out.println(“读入文件后\n”);
对于(int i=0;i
}以下是添加、删除和查找的一些候选项:
public void add(String name){
myList.add(new Person(name));//assumes the constructor takes in name param
}
public void remove(String name){
for (Person p : myList){
if (p.getName().equals(name)){//assumes person class has a getName() method
myList.remove(p);
}
}
public void find(String name){
for (Person p : myList){
if (p.getName().equals(name)){//assumes person class has a getName() method
return p;
}
}
重新排序,但是,我必须知道您的排序依据是什么-是字典顺序吗?请比“它不起作用”更具体一些。您尝试时发生了什么?