Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hw1;
- public class WirelessPrinter {
- public static final int PAGES_PER_CARTRIDGE = 1000;
- public static final int TRAY_CAPACITY = 500;
- public static final double NEW_CARTRIDGE_INK_LEVEL = 1.0;
- private int paperlevel;
- private double inklevel;
- private boolean on;
- private boolean connected;
- private int pagesprinted;
- public WirelessPrinter(double ink, int paper){
- inklevel = Math.min(ink, NEW_CARTRIDGE_INK_LEVEL);
- paperlevel = Math.min(paper, TRAY_CAPACITY);
- }
- /*public WirelessPrinter(boolean On, boolean Connected, int PaperLevel, double InkLevel)
- {
- on = On;
- connected = Connected;
- paperlevel = PaperLevel;
- inklevel = InkLevel;
- }
- public WirelessPrinter(double ink, int paper)
- {
- ink = 0.5;
- paper = 500;
- }*/
- private void connect() {
- connected = true;
- }
- public int getPaperLevelExact()
- {
- return paperlevel;
- }
- public void turnOn()
- {
- on = true;
- connect();
- }
- public boolean isOn()
- {
- return on;
- }
- public boolean isConnected()
- {
- return connected;
- }
- public int getPaperLevel() // return a percentage
- {
- return (int)Math.round(((double)paperlevel/(double)TRAY_CAPACITY)*100);
- }
- public double getInkLevel()
- {
- return inklevel;
- }
- public int getTotalPagesPrinted()
- {
- return pagesprinted;
- }
- public int getTotalPaperUsed()
- {
- return pagesprinted;
- }
- public void loadPaper(int paperLoaded)
- {
- if (isConnected()) {
- paperlevel = Math.min(paperlevel + paperLoaded, TRAY_CAPACITY);
- }
- }
- public void print(int addedPages)
- {
- if (isConnected()) {
- int allowedPagesPrinted;
- allowedPagesPrinted = Math.min(paperlevel, addedPages);
- pagesprinted = pagesprinted + allowedPagesPrinted;
- paperlevel = Math.max(0, paperlevel - addedPages);
- inklevel = Math.max(NEW_CARTRIDGE_INK_LEVEL - ((NEW_CARTRIDGE_INK_LEVEL / PAGES_PER_CARTRIDGE) * pagesprinted), 0);
- }
- }
- public void replaceCartridge()
- {
- if (isConnected()) {
- inklevel = NEW_CARTRIDGE_INK_LEVEL;
- }
- }
- public void disconnect()
- {
- connected = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement