| | |
How to insert data read from text file into linked list?
![]() |
•
•
Join Date: Aug 2008
Posts: 11
Reputation:
Solved Threads: 0
Hi, i am facing a problem with storing data into linked list. I have previously store the data read from the text file into an array but now my assignment require me to store all this record into a linked list. Can anyone help? May i know how to do it? I have created the list node and linkedlist class. Below is the attachment of the text file and my code. Thank in advance.
textfile.txt
Account Id = 67
Name = John
Address = 465 Ripley Boulevard, Oscar Mansion, Singapore 7666322
DOB = 10-10-1970
Phone Number = 790-3233
Account Balance = 405600.00
Account Type = Fixed
Fixed Daily Interest = 0.05
Account Id = 80
Name = Tim
Address = 200 Hunting Street, Singapore 784563
DOB = 25-10-1968
Phone Number = 432-4579
Account Balance = 530045.00
Account Type = Saving
Account Id = 65
Name = Tracy
Address = 45 Mexican Boulevard, Hotel California, Singapore 467822
DOB = 06-04-73
Phone Number = 678-1234
Account Balance = 25.00
Account Type = Checking
Account Id = 124
Name = Helen
Address = 50 Apple Avenue, Singapore 639798
DOB = 11-08-64
Phone Number = 345-6780
Account Balance = 234.00
Account Type = Checking
Account Id = 678
Name = Ming Fong
Address = 60 Hill View Ave, Singapore 456872
DOB = 15-02-70
Phone Number = 555-1234
Account Balance = 7000.00
Account Type = Saving
RecNode.java
RecLinkedList.java
record.java
My read into array code
textfile.txt
Account Id = 67
Name = John
Address = 465 Ripley Boulevard, Oscar Mansion, Singapore 7666322
DOB = 10-10-1970
Phone Number = 790-3233
Account Balance = 405600.00
Account Type = Fixed
Fixed Daily Interest = 0.05
Account Id = 80
Name = Tim
Address = 200 Hunting Street, Singapore 784563
DOB = 25-10-1968
Phone Number = 432-4579
Account Balance = 530045.00
Account Type = Saving
Account Id = 65
Name = Tracy
Address = 45 Mexican Boulevard, Hotel California, Singapore 467822
DOB = 06-04-73
Phone Number = 678-1234
Account Balance = 25.00
Account Type = Checking
Account Id = 124
Name = Helen
Address = 50 Apple Avenue, Singapore 639798
DOB = 11-08-64
Phone Number = 345-6780
Account Balance = 234.00
Account Type = Checking
Account Id = 678
Name = Ming Fong
Address = 60 Hill View Ave, Singapore 456872
DOB = 15-02-70
Phone Number = 555-1234
Account Balance = 7000.00
Account Type = Saving
RecNode.java
Java Syntax (Toggle Plain Text)
public class RecNode { Record rec; RecNode next; //Constructor public RecNode(Record r){ rec = r; next = null; } }
RecLinkedList.java
Java Syntax (Toggle Plain Text)
public class RecLinkedList { //reference to first item in list private RecNode pHead; //Constructor public RecLinkedList(){ pHead = null; } public void insertFirst(Record r){ RecNode newNode = new RecNode(r); newNode.next = pHead; pHead = newNode; } public void displayList(){ System.out.println("\nLinked List: "); //start of the list RecNode current = pHead; //loop through until end of list while (current != null){ System.out.println(current.rec+ " "); //move to the next link current = current.next; } System.out.println(); } //This method returns true if list is empty,false otherwise public boolean isEmpty(){ return(pHead == null); } //This method removes the first node from the linked list and returns //the reference to the deleted node. public RecNode deleteFirst(){ RecNode p = null; //check if list is not empty if(!isEmpty()){ p = pHead; pHead = pHead.next; p.next = null; } return p; } //This method searches the linked list for a node with a specified key //value and returns a reference to that node public RecNode find(Record rKey){ RecNode p = pHead; //if list is empty if(p == null){ return null; } while(p.rec!= rKey){ //if end of list if(p.next == null) //not found return null; else p = p.next; } //When found return p; } //This method will first search the linked list for the node with a //specified c value, using the find method, and insert a new node with the //given value. public RecNode insertAfter(Record rKey, Record r){ RecNode p = find(rKey); //if list is empty or rKey not found,insert fail if(p == null) return null; RecNode newNode = new RecNode (r); newNode.next= p.next; p.next = newNode; return newNode; } //This method deletes the node from the linked //link with the specified key value. public RecNode delete(Record rKey){ RecNode curr = pHead; RecNode prev = pHead; //if list is empty if(curr == null) return null; while(curr.rec != rKey){ //if end of list if(curr.next == null) //not found return null; else{ prev = curr; curr = curr.next; } } //find it //if the first node if(curr == pHead) pHead = pHead.next; else prev.next = curr.next; //set the next ref to null curr.next = null; return curr; } }
record.java
Java Syntax (Toggle Plain Text)
public class Record{ /** * @param args the command line arguments */ private int accountID; public String name; private String address; private String dob; private String phoneNumber; public String balance; private String inAccType; public double inInterest; DecimalFormat formatter = new DecimalFormat("#0.00"); public Record(){ } public Record(String name){ setName(name); } public Record(String name,double balance) { setName(name); setBalance(balance); } public Record(String name,double balance,double interest) { setName(name); setBalance(balance); setDailyInterest(interest); } public Record(String name,int accId,String add,String dob, String phoneNum,String type, double balance, double interest) { setName(name); setAccountID(accId); setAddress(add); setDob(dob); setPhoneNumber(phoneNum); setAccType(type); setBalance(balance); setDailyInterest(interest); } public void setAccountID(int accId){ accountID = accId; } public int getAccountID() { return accountID; } public void setName(String Custname){ name = Custname; } public String getName() { return name; } public void setAddress(String add) { address = add; } public String getAddress() { return address; } public void setDob(String dateOfBirth){ dob = dateOfBirth; } public String getDob() { return dob; } public void setPhoneNumber(String phoneNum) { phoneNumber = phoneNum; } public String getPhoneNumber() { return phoneNumber; } public void setBalance(double accBal) { balance = formatter.format(accBal); } public double getBalance() { return Double.parseDouble(balance); } public void setAccType(String accType) { inAccType = accType; } public String getAccType() { return inAccType; } public void setDailyInterest(double interest) { inInterest = interest; } public double getDailyInterest() { return inInterest; } public void display() { if(inInterest != 0 ){ System.out.println("\nName = " + name); System.out.println("Account Balance = " + balance); System.out.println("Account Id = " + accountID); System.out.println("Address = " + address); System.out.println("DOB = " + dob); System.out.println("Phone Number = " + phoneNumber); System.out.println("Account Type = " + inAccType); System.out.println("Fixed Daily Interest = " + inInterest); }else if(inInterest == 0){ System.out.println("\nName = " + name); System.out.println("Account Balance = " + balance); System.out.println("Account Id = " + accountID); System.out.println("Address = " + address); System.out.println("DOB = " + dob); System.out.println("Phone Number = " + phoneNumber); System.out.println("Account Type = " + inAccType); } } public void update() { System.out.println("Name = " + name); System.out.println("Account Balance = " + balance); } }
My read into array code
Java Syntax (Toggle Plain Text)
public static int readFile(String fileName) throws IOException { BufferedReader br = null; String line,add,dob,phoneNum,read,name = null,line1,line2, data, accType,fixedInterest = ""; double accBal; int accid,c = 0, count = 0, countDupRec = 0, till = 0; boolean duplicate = false, check = false; try { if (recSize <= 30 && recSize != 0) { rec= new Record[recSize]; br = new BufferedReader(new FileReader(fileName)); line = null; while ((line = br.readLine()) != null) { StringTokenizer st = new StringTokenizer(line, "="); while (st.hasMoreTokens()) { read = st.nextToken(); if (read.equals("Account Id ")) { rec[r] = new Record(); accid = Integer.parseInt(st.nextToken().trim()); rec[r].setAccountID(accid); } if (read.equals("Name ")) { name = st.nextToken().trim().toUpperCase(); rec[r].setName(name); } if (read.equals("Address ")) { add = st.nextToken().trim(); rec[r].setAddress(add); } if (read.equals("DOB ")) { dob = st.nextToken().trim(); rec[r].setDob(dob); } if (read.equals("Phone Number ")) { phoneNum = st.nextToken().trim(); rec[r].setPhoneNumber(phoneNum); } if (read.equals("Account Balance ")) { accBal = Double.parseDouble(st.nextToken().trim()); rec[r].setBalance(accBal); } if (read.equals("Account Type ")) { accType = st.nextToken().trim(); rec[r].setAccType(accType); r++; } } } //Get the fixed interest rate br = new BufferedReader(new FileReader(fileName)); line2 = null; while ((line2 = br.readLine()) != null) { StringTokenizer st4 = new StringTokenizer(line2, "="); while (st4.hasMoreTokens()) { data = st4.nextToken(); if(data.equals("Fixed Daily Interest ")){ String aString = st4.nextToken(); fixedInterest = fixedInterest + " " + aString; } } } //Get the elment that has fixed account type String val = ""; for (int i = 0; i < recSize; i++) { if (rec[i].getAccType().equals("Fixed")) { String aString = Integer.toString(i); val = val + " " + aString; } } //Set the value of fixed Interest into fixed account StringTokenizer st5 = new StringTokenizer(val, " "); StringTokenizer st6 = new StringTokenizer(fixedInterest, " "); while (st5.hasMoreTokens()&& st6.hasMoreTokens()) { rec[Integer.parseInt(st5.nextToken())].setDailyInterest( Double.parseDouble(st6.nextToken())); } }
Are you allowed to use these classes provided by java:
java.util.Vector
java.util.ArrayList ?
If yes then things are much easier
java.util.Vector
java.util.ArrayList ?
If yes then things are much easier
Check out my New Bike at my Public Profile at the "About Me" tab
![]() |
Similar Threads
- Inserting node into lists (C++)
- Source Code that don't work? (Java)
- This Should be Easy for You Guys! (Linux Servers and Apache)
- can't link to included files... y? (C++)
Other Threads in the Java Forum
- Previous Thread: Tokenize
- Next Thread: cloning objects
| Thread Tools | Search this Thread |
911 actionlistener addressbook android api append applet application array arrays automation binary blackberry block bluetooth character chat class client code component consumer csv database desktop developmenthelp eclipse error fractal ftp game givemetehcodez graphics gui html ide image integer j2me j2seprojects japplet java javaarraylist javac javaee javaprojects jni jpanel julia lego linked linux list loops mac map method methods mobile netbeans newbie number objects online oriented panel printf problem program programming project projects properties recursion replaydirector reporting researchinmotion rotatetext rsa scanner se server set singleton sms sort sql string swing test textfields threads time title tree tutorial-sample ubuntu update windows working






