I try to do the first method, but I am a little bit stuck. Please help ! The ins
ID: 3808318 • Letter: I
Question
I try to do the first method, but I am a little bit stuck. Please help ! The instruction of that methods is at below.
Here is the constructor of SuspectEntry in SuspectEntry class.
public SuspectEntry(String name, String phoneNumber, String passportNumber) {
this.name = name;
this.phoneNumber = phoneNumber;
this.passportNumber = passportNumber;
}
package log;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import com.opencsv.CSVReader;
public class LogParser {
/**
* Returns a list of SuspectEntries corresponding to the CSV data supplied by the given Reader.
*
* The data contains one or more lines of the format:
*
* Marc,413-545-3061,1234567890
*
* representing a name, phone number, and passport number.
*
* @param r an open Reader object
* @return a list of SuspectEntries
* @throws IOException
*/
public static List<SuspectEntry> parseLog(Reader r) throws IOException {}
Explanation / Answer
HI, Please find my implementation.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
//import com.opencsv.CSVReader;
class SuspectEntry{
private String name;
private String phoneNumber;
private String passportNumber;
public SuspectEntry(String name, String phoneNumber, String passportNumber) {
this.name = name;
this.phoneNumber = phoneNumber;
this.passportNumber = passportNumber;
}
}
public class LogParser {
/**
* Returns a list of SuspectEntries corresponding to the CSV data supplied by the given Reader.
*
* The data contains one or more lines of the format:
*
* Marc,413-545-3061,1234567890
*
* representing a name, phone number, and passport number.
*
* @param r an open Reader object
* @return a list of SuspectEntries
* @throws IOException
*/
public static List<SuspectEntry> parseLog(FileReader r) throws IOException {
ArrayList<SuspectEntry> list = new ArrayList<>();
BufferedReader br = new BufferedReader(r);
String line;
while((line = br.readLine()) != null){
// splitting line by ,
String[] info = line.split(",");
// creating a new Object of SuspectEntry
SuspectEntry obj = new SuspectEntry(info[0], info[2], info[1]);
// Adding in list
list.add(obj);
}
return list;
}
}