有人能帮帮我吗? 我正在完成这项任务,我几乎完成了我的代码,除了我不知道如何通过输入他们的名字来搜索客户列表。 !
列出项目
import java.util.*;
import java.io.*;
public class computer {
public static void main(String args[]){
Scanner console = new Scanner(System.in);
//create a file named myFile.txt
createFile object1 = new createFile();
object1.openFile();
object1.addRecords();
object1.closeFile();
//This code reads the File and outputs it on the screen
System.out.println("-----------------------------------------------------------------------");
System.out.println("This is the list of customers being read from a file called myFile.txt ");
System.out.println("-----------------------------------------------------------------------");
readFile r = new readFile();
r.openFile();
r.readfile();
r.closeFile();
LinkedList<customers> list = new LinkedList<customers>();
try
{
Scanner file = new Scanner(new File("myFile.txt"));
while(file.hasNext())
{
String name = file.next();
String lname = file.next();
String email = file.next();
list.add(new customers(name,lname, email));
}
}
catch (Exception e) {
// TODO: handle exception
}
Collections.sort(list,new Mycustomers());
System.out.println("This is the list of customers sorted by their last names: ");
System.out.println("--------------------------------------------------------------");
System.out.println();
for(customers cu:list){
System.out.println(cu);
}
答案 0 :(得分:1)
从打印列表的方式开始,而不是打印每个列表,首先将每个列表中的名称与您要查找的名称进行比较(如果没有关于customers
的更多详细信息,则无法提供更多详细信息);如果它匹配,做你需要做的任何事情和break
循环。
要阅读要搜索的名称,我将重复user3567040所说的内容:
Scanner s = new Scanner(System.in);
String name =s.nextLine();
(尽管您可能需要2 Strings
:一个用于名字,另一个用于最后一个名称。
答案 1 :(得分:0)
您可以使用HashTable或HashMap作为第一个+姓氏的哈希值。并根据输入的给定名称的哈希进行搜索。