Question: Java public class Printer { private String DeviceName; private String IPv4Address; private String LastCommunicationTime; private String SerialNumber; private int PageCount; private int Cartridge1; private int

Java

public class Printer { private String DeviceName; private String IPv4Address; private String LastCommunicationTime; private String SerialNumber; private int PageCount; private int Cartridge1; private int Cartridge2; public Printer(String DeviceName,String IPv4Address,String LastCommunicationTime, String SerialNumber,int PageCount,int Cartridge1,int Cartridge2) { super(); this.DeviceName = DeviceName; this.IPv4Address = IPv4Address; this.LastCommunicationTime = LastCommunicationTime; this.SerialNumber = SerialNumber; this.PageCount = PageCount; this.Cartridge1 = Cartridge1; this.Cartridge2 = Cartridge2; } public String getDeviceName() { return DeviceName; } public void setDeviceName(String DeviceName) { this.DeviceName = DeviceName; } public String getIPv4Address() { return IPv4Address; } public void setIPv4Address(String IPv4Address) { this.IPv4Address = IPv4Address; } public String getLastCommunicationTime() { return LastCommunicationTime; } public void setLastCommunicationTime(String LastCommunicationTime) { this.LastCommunicationTime = LastCommunicationTime; } public String getSerialNumber() { return SerialNumber; } public void setSerialNumber(String SerialNumber) { this.SerialNumber = SerialNumber; } public int getPageCount() { return PageCount; } public void setPageCount(int PageCount) { this.PageCount = PageCount; } public int getCartridge1() { return Cartridge1; } public void setCartridge1(int Cartridge1) { this.Cartridge1 = Cartridge1; } public int getCartridge2() { return Cartridge2; } public void setCartridge2(int Cartridge2) { this.Cartridge2 = Cartridge2; }

@Override public String toString() { return DeviceName + IPv4Address + LastCommunicationTime + SerialNumber + PageCount + Cartridge1 + Cartridge2; } }

--------------------------

import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List;

public class CSVReader { private static final String COMMA_DELIMITER = ","; public static void main(String args[]) { BufferedReader br = null; try { br = new BufferedReader(new FileReader("file1.csv")); List prtList = new ArrayList(); String line = ""; br.readLine(); //Read from the second line while ((line = br.readLine()) != null) { String[] printerDetails = line.split(COMMA_DELIMITER); if(printerDetails.length > 0) { //Save the printer details in Printer object Printer prt = new Printer(printerDetails[0], printerDetails[1], printerDetails[2], printerDetails[3], Integer.parseInt(printerDetails[4]), Integer.parseInt(printerDetails[5]), Integer.parseInt(printerDetails[6])); prtList.add(prt); } } // print information if the printer level below 10% for(Printer e : prtList) { if(e.getCartridge1() < 10) System.out.println(e.getDeviceName()+ ", IPv4Address "+e.getIPv4Address()+", and SerialNumber "+ e.getSerialNumber()+", toner level of Cartridge #1: "+e.getCartridge1()+"%"+" "); } for(Printer e : prtList) { if(e.getCartridge2() < 10) System.out.println(e.getDeviceName()+ ", IPv4Address "+e.getIPv4Address()+", and SerialNumber "+ e.getSerialNumber()+", toner level of Cartridge #2: "+e.getCartridge2()+"%"+" "); } } catch(Exception ee) { ee.printStackTrace(); } finally { try { br.close(); } catch(IOException ie) { System.out.println("Error occured while closing the BufferedReader"); ie.printStackTrace(); } } } }

----------------------------

CSV file

Printer,IPv4Address,LastCommunicationTime,SerialNumber,PageCount,Cartridge1,Cartridge2 123,1.2.3.4,3:00 PM,1234,31,80,0 124,1.2.3.5,4:38 AM,1235,13,8,85 125,1.2.3.6,8:00 PM,1236,6,76,85 126,1.2.3.7,8:33 AM,1237,9,99,5

-------------------------

Code refactoring

Move the tone level checking and printing (in Cartridge1 and Cartridge2) method to printer object from the main method.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!