import java.text.DecimalFormat;

public class GPACalc
{
	private String name;
	private double gr1, gr2, gr3;
	private int cr1, cr2, cr3;
	private int total_credit;
	private double total_points;
	private double gpa;
	private char Lgrade;	  // a letter grade (A-F)
	private String PFstatus;  // Pass/Fail status

	public GPACalc()			//default constructor
	{
	}

									//parametrized constructor
	public GPACalc(String name, double gr1, double gr2, double gr3,
							int cr1, int cr2, int cr3)
	{
		this.name = name; 	//assign input 'name' to local private variable 'name'
		this.gr1 = gr1;	  //'this' refers to object instance (student1) that calls this method
		this.gr2 = gr2;
		this.gr3 = gr3;
		this.cr1 = cr1;
		this.cr2 = cr2;
		this.cr3 = cr3;
	}

	public double calcGPA()
	{
		total_credit = cr1 + cr2 + cr3;
		total_points = gr1*cr1 + gr2*cr2 + gr3*cr3;
		gpa = total_points/total_credit;
		return gpa;
	}

	public char Letter()
	{
	             if (gpa >= 3.5 && gpa <= 4.0) {Lgrade = 'A';}
		else if (gpa >= 2.5 && gpa <  3.5) {Lgrade = 'B';}
		else if (gpa >= 1.5 && gpa <  2.5) {Lgrade = 'C';}
		else if (gpa >= 0.6 && gpa <  1.5) {Lgrade = 'D';}
		else if (gpa >= 0.0 && gpa <  0.6) {Lgrade = 'F';}
		return Lgrade;
	}

	public String Status()
	{
		if (gpa >= 2.0) {PFstatus = "PASS!";}
		else  {PFstatus = "Fail...";}
		return PFstatus;
	}

	public void display()
	{
		DecimalFormat two_dec = new DecimalFormat("0.00");

		System.out.println("\nGPA for " +name+ " is: " + two_dec.format(calcGPA()));
		System.out.println("Letter grade: " +Letter());
		System.out.println(Status());

		System.out.println ("\n\n\n\n\n\n\n\n");
	}
}