public class Computer { private String name; private int totalMemory; private int availableMemory; private int users; Computer(String computerName, int newTotalMemory) { users = 0; name = computerName; totalMemory = newTotalMemory; availableMemory = totalMemory; } void add(String name, int requestedMemory) { // NOTE: instance variable name is being shadowed // NOTE: percentage variable name also used in percentageMemAvail double percentage; if (requestedMemory <= availableMemory) { users = users + 1; availableMemory = availableMemory - requestedMemory; percentage = percentageMemAvail(); System.out.println("User Name: " + name + " added."); System.out.println(percentage + "% of memory available."); System.out.println(""); } else { System.out.println("Cannot add user " + name); } } double percentageMemAvail() { // NOTE: percentage variable name used in add method double percentage; // NOTE: Do we need the (double) ? percentage = (double)availableMemory / totalMemory * 100; return percentage; } public String toString() { // NOTE: '\n' is a special character that means "new line" String temp = "Computer Name: " + name; temp = temp + "\nMemory: " + totalMemory; temp = temp + "\nAvailable Memory: " + availableMemory + " Meg"; temp = temp + "\nUsers: " + users; return temp; } public static void main(String[] args) { int totalMemory = 100; int requestedMemory = 20; Computer computer = new Computer("doritos.cs.umd.edu", totalMemory); // NOTE: argument variable name the same as parameter name in add method computer.add("Peter", requestedMemory); computer.add("Rose", 30); // NOTE: percentage variable name used in add and percentageMemAvail double percentage = computer.percentageMemAvail(); System.out.println("Percentage of Memory Available: " + percentage); System.out.println(""); System.out.println(computer); } }