/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package prjencapsulation;
import java.util.Scanner;
/**
*
* @author dukehsu
* Student Name: YongLou, Xu
*/
public class Students {
Scanner sc = new Scanner(System.in);
//private attributes (data hiding, keep data safe)
private String name;
private String course;
private double grade;
private int age;
//method to display student information - call getter methods
public void displayInfo(){
System.out.println("\n --- Student Information ---");
System.out.println("Name: " + getName());
System.out.println("Age: " + getAge());
System.out.println("Course: " + getCourse());
System.out.println("Grade: " + getGrade());
//condition for check grade status
if(grade >= 75){
System.out.println("Status: Passed");
}else {
System.out.println("Status: Failed");
}
}
//---------------------------- GETTER ------------------------------
//public methods - getter from name,course,grade,age and return data
public String getName(){
return name;
}
public String getCourse(){
return course;
}
public double getGrade(){
return grade;
}
public int getAge(){
return age;
}
//---------------------------- SETTER -------------------------------
//public methods - setter for name,course, grade, age, and update data
public void setName(String name){
//using while loop to check user input data
while(name == null || name.trim().isEmpty()){
System.out.println("Invalid name, Name cannot be empty.Plz try again");
name = sc.nextLine();
}
this.name = name;
}
public void setCourse(String course){
//using while loop to check user input data
while(course == null || course.trim().isEmpty()){
System.out.println("Invalid course. Course cannot be empty. Plz try again");
course = sc.nextLine();
}
this.course = course;
}
// Student name: YongLou, Xu
public void setGrade(double grade){
//using while loop to check user input data
while(grade < 0 || grade > 100){
System.out.println("Invalid grade. Grade must be between 0 and 100. Plz try agian");
grade = sc.nextDouble();
}
this.grade = grade;
}
public void setAge(int age){
// using while loop to check user input data
while(age <=0 || age >=100){
System.out.println("Invalid age input, Age must be greater than 0 and lower than 100.Plz try again ");
age = sc.nextInt();
}
this.age = age;
}
}