我必須創建一個鏈接列表,讀取一個字符串和關聯的int的文件,並在int讀取時進行排序。到目前爲止,我已經獲得了一個將元素添加到列表的方法,以及一個基本的讀取方法(但由於某種原因丟失了文件的最後一個元素),但是每次我嘗試向讀取方法添加條件時,它都會返回一個空的列表。鏈接列表從文件中讀取,排序和錯過的錯誤
我的加入方法:
public void addFirst(String name, int rank)
{
Ship newShip = new Ship(name, rank);
if (isEmpty())
{
newShip.next = null;
newShip.prev = null;
last = newShip;
first = newShip;
}
else
{
first.next = newShip;
newShip.prev = first;
first = newShip;
}
}
而我的工作(不過關接一個)讀法:在讀
public void readFile(String filename) throws IOException
{
try
{
File inFile = new File(filename); //inst. file import
Scanner read = new Scanner(inFile); //inst. scanner object
while (read.hasNext()) //reads until end of text
{
String name = read.next(); //scanner reads next string, assigns to name
int rank = read.nextInt(); //reads next int, assigns to rank
addFirst(name, rank); //enqueues ship name and rank into list
}
read.close(); //ends read when empty
}
catch(IOException exc)
{
System.out.println("Error: file not found");
}
}
我每次添加一個條件的,而()方法,像這樣的(並有一個「0」數據文件):
while (read.hasNext()) //reads until end of text
{
String name = read.next(); //scanner reads next string, assigns to name
int rank = read.nextInt(); //reads next int, assigns to rank
if (rank == 0)
{
addFirst(name, rank); //enqueues ship name and rank into list
}
}
TT不甚至似乎在所有的閱讀列表。如果我無法弄清楚爲什麼添加方法被破壞,我無法開始在插入算法中添加條件。
編輯:添加一個示例數據集。我只需要弄清楚我在概念上搞砸了什麼。
SHIP1 0 SHIP2 10 ship3 27 ship4 2 ship5 7 ....
EDIT2:
好了,放棄了,現在搞清楚使用鏈表插入並只會創建一個基於標記的插入read()方法。感謝你的幫助。
添加您是從文件 – Ravi