Homework

Now, it’s time to practice! The following problem will incorporate the following concepts:

  • Classes
    • Constructors
  • Methods
    • Void methods
    • Non-void methods
  • Math class
  • Integer and Double wrapper classes
  • String methods
public class Circle {
    public Double radius;

    Circle(Double radius) {
        this.radius = radius;
    }

    public Double circumference() {
        return this.radius * 2 * Math.PI;
    }

    public Double area() {
        return Math.PI * Math.pow(this.radius, 2);
    }
}

public class Student {
    public String name;
    public Integer grade;

    Student(String name, Integer grade) {
        this.name = name;
        this.grade = grade;
    }

    public int nameLength() {
        return this.name.length();
    }

    public Double getGradeAsDouble() {
        return Double.valueOf(this.grade);
    }

    public Double getScaledGrade() {
        return Double.valueOf(this.grade) / 2;
    }
}

Circle circle1 = new Circle(5.0);
Circle circle2 = new Circle(7.0);

System.out.println("Circle 1:");
System.out.println("Radius: " + circle1.radius);
System.out.println("Circumference: " + circle1.circumference());
System.out.println("Area: " + circle1.area());

System.out.println("\nCircle 2:");
System.out.println("Radius: " + circle2.radius);
System.out.println("Circumference: " + circle2.circumference());
System.out.println("Area: " + circle2.area());

Student student1 = new Student("Aadit", 75);
Student student2 = new Student("Emily", 45);

System.out.println("\nStudent 1:");
System.out.println("Name: " + student1.name);
System.out.println("Name Length: " + student1.nameLength());
System.out.println("Grade: " + student1.getGradeAsDouble());
System.out.println("Scaled Grade: " + student1.getScaledGrade());

System.out.println("\nStudent 2:");
System.out.println("Name: " + student2.name);
System.out.println("Name Length: " + student2.nameLength());
System.out.println("Grade: " + student2.getGradeAsDouble());
System.out.println("Scaled Grade: " + student2.getScaledGrade());
Circle 1:
Radius: 5.0
Circumference: 31.41592653589793
Area: 78.53981633974483

Circle 2:
Radius: 7.0
Circumference: 43.982297150257104
Area: 153.93804002589985

Student 1:
Name: Aadit
Name Length: 5
Grade: 75.0
Scaled Grade: 37.5

Student 2:
Name: Emily
Name Length: 5
Grade: 45.0
Scaled Grade: 22.5