Я завершил однократную ссылку, которая добавляет узлы в список из текстового файла.Теперь я пытаюсь позволить пользователю выбрать узел из связанного списка, чтобы либо проверить фильм, либо извлечь фильм из текстового файла.Я пытался понять это в течение очень долгого времени, но безуспешно.Любые вклады или помощь будут с благодарностью!
вот моя функция поиска, которая не завершена ...
public void search ()
{
System.out.print ("Which one would like like to check out: ");
Scanner check = new Scanner(System.in);
String usercheck = check.next();
SinglyLinkedList myList = new SinglyLinkedList();
Node n = myList.gethead();
for (int i = 0; i < myList.getSize; i++)
{
if (n.getTitle.equals(usercheck))
{
return ("found");
} else {
return n;
}
n = n.getNext();
}
}
вот мой односвязный список, который я заполнил для ссылки на функцию поиска ...
public class SinglyLinkedList
{
//Implement a Node
private static class Node
{
private String[] actors;
private String title;
private String director;
private String year;
private int numActors;
private String status;
private String userID;
private String date;
private Node next;
public Node(String e, Node n)
{
String[] data = e.split(" ");
title = data[0];
director = data[1];
year = data[2];
numActors = Integer.parseInt(data[3]);
actors = new String[numActors];
int i = 0;
for (i = 0; i < numActors; i++)
{
actors[i] = data[4 + i];
}
status = data[4 + numActors];
if (status.equals("out"))
{
userID = data[5 + numActors];
date = data[6 + numActors];
}
next = n;
}
public int getNumActors()
{
return numActors;
}
public String gettitle()
{
return title;
}
public String[] getActors()
{
return actors;
}
public String getDirector()
{
return director;
}
public String getYear()
{
return year;
}
public String getStatus()
{
return status;
}
public String getUserID()
{
return userID;
}
public String getDate()
{
return date;
}
public Node getNext()
{
return next;
}
public void setNext(Node n)
{
next = n;
}
}
//List Implementation
private Node head = null;
private Node tail = null;
private int size = 0;
public SinglyLinkedList()
{};
public int getSize()
{
return size;
}
public Node getHead()
{
return head;
}
public boolean isEmpty()
{
return size == 0;
}
public String first()
{
if(isEmpty())
{
return null;
}
return head.gettitle();
}
public String last()
{
if(isEmpty())
{
return null;
}
return tail.gettitle();
}
public void addFirst(String e)
{
head = new Node(e, head);
if(size == 0)
{
tail = head;
}
size++;
System.out.println("Added head node with " + head.getDirector());
}
public void addLast(String e)
{
Node newNode = new Node(e, null);
if(isEmpty())
{
head = newNode;
}else{
tail.setNext(newNode);
}
tail = newNode;
size++;
System.out.println("Added tail node with " + tail.getDirector());
}
public String removeFirst()
{
if(isEmpty())
{
return null;
}
String answer = head.gettitle();
head = head.getNext();
size--;
if(size == 0)
{
tail = null;
}
System.out.println("Removed head node with " + answer);
return answer;
}
}