1.14 Lesson Homework
Lesson 1.14 Homework
Popcorn Hack 1
// The Dog class which has the breed and method
public class Dog {
// Declare variables
String name;
String breed;
// Constructor
Dog(String name, String breed) {
this.name = name;
this.breed = breed;
}
// Method to print "My dog name is a breed!"
public void showInfo() {
System.out.println("My dog " + name + " is a " + breed + "!");
}
}
// Using the Dog Class:
public class DogDemo {
public static void main(String[] args) {
// Create a new Dog object
Dog myDog = new Dog("Thomas", "Golden Retriever");
// Call the method
myDog.showInfo();
}
}
DogDemo.main(null);
My dog Thomas is a Golden Retriever!
Popcorn Hack 2
// Counter class with 5 methods
public class Counter {
private int count;
// The Add method
public void add(int x) {
count += x;
}
// The Subtract method
public void subtract(int x) {
count -= x;
}
// The Multiply method
public void multiply(int x) {
count *= x;
}
// The Divide method
public void divide(int x) {
if (x != 0) {
count /= x;
} else {
System.out.println("Cannot divide by zero!");
}
}
// Get current count
public int getCount() {
return count;
}
}
// Using Counter class:
public class CounterDemo {
public static void main(String[] args) {
Counter c = new Counter();
c.add(10);
System.out.println("After add: " + c.getCount());
c.subtract(3);
System.out.println("After subtract: " + c.getCount());
c.multiply(4);
System.out.println("After multiply: " + c.getCount());
c.divide(2);
System.out.println("After divide: " + c.getCount());
c.add(5);
System.out.println("After add again: " + c.getCount());
}
}
CounterDemo.main(null);
After add: 10
After subtract: 7
After multiply: 28
After divide: 14
After add again: 19
MCQ Questions
- B
- C
- B
- D
- D
Homework
import java.util.ArrayList;
public class StudentGradeTracker {
public static void main(String[] args) {
// Create students
Student ahaan = new Student("Ahaan Vaidyanathan");
ahaan.addGrade(95);
ahaan.addGrade(88);
ahaan.addGrade(92);
ahaan.addGrade(85);
ahaan.printReport();
System.out.println("========================================");
Student arnav = new Student("Arnav Mittal");
arnav.addGrade(78);
arnav.addGrade(82);
arnav.addGrade(75);
arnav.printReport();
System.out.println("========================================");
}
}
class Student {
private String name;
private int totalPoints;
private int numAssignments;
private ArrayList<Integer> grades;
// Constructor
Student(String name) {
this.name = name;
this.totalPoints = 0;
this.numAssignments = 0;
this.grades = new ArrayList<>();
}
// Add grade
public void addGrade(int points) {
if (points < 0) return;
grades.add(points);
totalPoints += points;
numAssignments++;
}
// Average
public double getAverage() {
if (numAssignments == 0) return 0.0;
return (double) totalPoints / numAssignments;
}
// Letter grade
public String getLetterGrade() {
double avg = getAverage();
if (avg >= 90) return "A";
else if (avg >= 80) return "B";
else if (avg >= 70) return "C";
else if (avg >= 60) return "D";
else return "F";
}
// Print report
public void printReport() {
System.out.println("Student Name: " + name);
System.out.println("Total Points: " + totalPoints);
System.out.println("Assignments Completed: " + numAssignments);
System.out.printf("Current Average: %.2f%n", getAverage());
System.out.println("Letter Grade: " + getLetterGrade());
}
// Highest grade
public int getHighestGrade() {
if (grades.isEmpty()) return 0;
int max = grades.get(0);
for (int g : grades) if (g > max) max = g;
return max;
}
// Lowest grade
public int getLowestGrade() {
if (grades.isEmpty()) return 0;
int min = grades.get(0);
for (int g : grades) if (g < min) min = g;
return min;
}
// Drop lowest grade
public void dropLowestGrade() {
if (grades.isEmpty()) return;
int lowest = getLowestGrade();
grades.remove(Integer.valueOf(lowest));
totalPoints -= lowest;
numAssignments--;
}
// Reset all grades
public void reset() {
totalPoints = 0;
numAssignments = 0;
grades.clear();
}
}
StudentGradeTracker.main(null);
Student Name: Ahaan Vaidyanathan
Total Points: 360
Assignments Completed: 4
Current Average: 90.00
Letter Grade: A
========================================
Student Name: Arnav Mittal
Total Points: 235
Assignments Completed: 3
Current Average: 78.33
Letter Grade: C
========================================