Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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;

   }

}