GradePointAverage.java


public class GradePointAverage {
   public double calculate(double g1, int c1,
                           double g2, int c2,
                           double g3, int c3,
                           double g4, int c4) 
   {
      return ((g1*c1)+(g2*c2)+(g3*c3)+(g4*c4))/(c1+c2+c3+c4);
   }
   public static void main(String args[]) {
      System.out.println("GPA");
      double myGpa;
      
      GradePointAverage gpa = new GradePointAverage();
      myGpa = gpa.calculate(4.0, 3,
                            3.0, 3,
                            4.0, 3,
                            3.0, 3);
                             
      System.out.println("GPA: " + myGpa);
   }
}

DriverGradePointAverage.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class DriverGradePointAverage implements ActionListener 
{
   private static final int WINDOW_WIDTH = 275;
   private static final int WINDOW_HEIGHT = 175;
   private static final int TEXT_WIDTH = 5;
   
   private static final FlowLayout LAYOUT_STYLE = new FlowLayout();
   
   private JFrame window = new JFrame("GPA");
   
   private JLabel jl1 = new JLabel("Grade 1:");
   private JTextField jtf1 = new JTextField(TEXT_WIDTH);
   
   private JLabel jlc1 = new JLabel("Credits 1:");
   private JTextField jtfc1 = new JTextField(TEXT_WIDTH);
   
   private JLabel jl2 = new JLabel("Grade 2:");
   private JTextField jtf2 = new JTextField(TEXT_WIDTH);
   
   private JLabel jlc2 = new JLabel("Credits 2:");
   private JTextField jtfc2 = new JTextField(TEXT_WIDTH);
   
   private JLabel jl3 = new JLabel("Grade 3:");
   private JTextField jtf3 = new JTextField(TEXT_WIDTH);
   
   private JLabel jlc3 = new JLabel("Credits 3:");
   private JTextField jtfc3 = new JTextField(TEXT_WIDTH);
   
   private JLabel jl4 = new JLabel("Grade 4:");
   private JTextField jtf4 = new JTextField(TEXT_WIDTH);
   
   private JLabel jlc4 = new JLabel("Credits 4:");
   private JTextField jtfc4 = new JTextField(TEXT_WIDTH);
   
   private JButton runButton = new JButton("Calculate");
   

   public void actionPerformed(ActionEvent e) {
      String st1 = jtf1.getText();
      String stc1 = jtfc1.getText();
      double g1 = Double.parseDouble(st1);
      int c1 = (int) Double.parseDouble(stc1);
      
      String st2 = jtf2.getText();
      String stc2 = jtfc2.getText();
      double g2 = Double.parseDouble(st2);
      int c2 = (int) Double.parseDouble(stc2);
      
      String st3 = jtf3.getText();
      String stc3 = jtfc3.getText();
      double g3 = Double.parseDouble(st3);
      int c3 = (int) Double.parseDouble(stc3);
      
      String st4 = jtf4.getText();
      String stc4 = jtfc4.getText();
      double g4 = Double.parseDouble(st4);
      int c4 = (int) Double.parseDouble(stc4);
      
      GradePointAverage gpa = new GradePointAverage();
      double myGpa = gpa.calculate(g1, c1,
                            g2, c2,
                            g3, c3,
                            g4, c4);
                             
      System.out.println("GPA: " + myGpa);
   }
   
   DriverGradePointAverage () {
      window.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
      window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      runButton.addActionListener(this);
      
      window.setLayout(LAYOUT_STYLE);
      window.add(jl1);
      window.add(jtf1);
      window.add(jlc1);
      window.add(jtfc1);
      
      window.add(jl2);
      window.add(jtf2);
      window.add(jlc2);
      window.add(jtfc2);
   
      window.add(jl3);
      window.add(jtf3);
      window.add(jlc3);
      window.add(jtfc3);
      
      window.add(jl4);
      window.add(jtf4);
      window.add(jlc4);
      window.add(jtfc4);
      
      window.add(runButton);
      
      window.setVisible(true);
   }
      
   public static void main(String args[]) {
      System.out.println("Driver GPA");
      DriverGradePointAverage dgpa = new DriverGradePointAverage();
      double myGpa = 0.0;
      
      double g1 = 4.0;
      double g2 = 3.0;
      double g3 = 4.0;
      double g4 = 3.0;
      
      int c1 = 3;
      int c2 = 3;
      int c3 = 3;
      int c4 = 4;
      
      GradePointAverage gpa = new GradePointAverage();
      myGpa = gpa.calculate(g1, c1,
                            g2, c2,
                            g3, c3,
                            g4, c4);
                             
      System.out.println("GPA: " + myGpa);
   }
}