Application Program Interface (API) and Libraries Homework
Understanding Application Program Interfaces and Java Libraries - Homework
📝 Homework Hack: Phone Class
Create a Phone class that demonstrates all concepts from this lesson:
- Libraries/Classes
- Packages (use ArrayList from java.util)
- Attributes
- Behaviors
Requirements:
Attributes (4):
brand(String)model(String)batteryLevel(int) - starts at 100contacts(ArrayList)
Behaviors (5 methods):
- Constructor - sets brand and model, initializes empty contacts list
displayInfo()- prints brand, model, and battery leveladdContact(String name)- adds name to contacts listshowContacts()- prints all contactsusePhone(int minutes)- decreases battery by minutes used
Testing:
- Create 2 Phone objects
- Add 3 contacts to each phone
- Use phone for some minutes
- Display all information
Grading:
- Correct attributes (4 points)
- Correct methods (5 points)
- Proper use of ArrayList from java.util (3 points)
- Complete testing (3 points)
- Total: 15 points
// Homework Hack: Complete the Phone class
import java.util.ArrayList;
public class Phone {
// TODO: Add 4 attributes
private String brand;
private int model;
private int batteryLevel;
private ArrayList<String> contacts;
// TODO: Add constructor
public Phone(String brand, int model, int batteryLevel, ArrayList<String> contacts) {
this.brand = brand;
this.model = model;
this.batteryLevel = batteryLevel;
this.contacts = contacts;
}
// TODO: Add displayInfo() method
public void displayInfo() {
System.out.println("Brand: " + brand);
System.out.println("Model: " + model);
System.out.println("Battery: " + batteryLevel);
}
// TODO: Add addContact(String name) method
public void addContact(String name) {
contacts.add(name);
}
// TODO: Add showContacts() method
public void showContacts() {
System.out.println("Contacts: " + contacts);
}
// TODO: Add usePhone(int minutes) method
public void usePhone(int minutes) {
batteryLevel -= minutes;
}
}
// Test your Phone class
public class PhoneTest {
public static void main(String[] args) {
// TODO: Create 2 Phone objects
Phone ex1 = new Phone("iPhone", 17, 84, new ArrayList<>());
Phone ex2 = new Phone("Samsung", 14, 57, new ArrayList<>());
// TODO: Add 3 contacts to each
ex1.addContact("Ahaan");
ex1.addContact("Shaurya");
ex1.addContact("Xavier");
ex2.addContact("Spencer");
ex2.addContact("Neil");
ex2.addContact("Nikhil");
// TODO: Use phones for some minutes
ex1.usePhone(12);
ex2.usePhone(39);
// TODO: Display all information
ex1.displayInfo();
ex1.showContacts();
ex2.displayInfo();
ex2.showContacts();
}
}
// PhoneTest.main(null);
PhoneTest.main(null);
Brand: iPhone
Model: 17
Battery: 72
Contacts: [Ahaan, Shaurya, Xavier]
Brand: Samsung
Model: 14
Battery: 18
Contacts: [Spencer, Neil, Nikhil]