☕ Java For phc-bot only

Status
Not open for further replies.

PHC-Shade

Honorary Poster
Java:
package admissionz;

import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Random;

class Students {
    String name;
    int age;
    String address;
    String courseIntended;
    double gpa;
    int score;

    public Students(String name, int age, String address, String courseIntended, double gpa, int score) {
        this.name = name;
        this.age = age;
        this.address = address;
        this.courseIntended = courseIntended;
        this.gpa = gpa;
        this.score = score;
    }
    }

public class CollegeAdmissionSystem {
    public ArrayList<Students> students = new ArrayList<>();
    int[] reqscore = {65, 70, 75, 80};
    String[] courses = {"BSCS", "BSIT", "BSIS", "BSEMC"};
    int courseIndex = -1;
    Scanner input = new Scanner(System.in);
    String info, answer;
    private static final double REQUIRED_GPA = 93.0;

    public  CollegeAdmissionSystem() {
        System.out.println("| Thank you for Checking on Biglang Gwapo University |");
        System.out.println("Here are the offered Courses: " + Arrays.toString(courses));
        
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        do {   
            System.out.print("Would you like to register? (Yes or No): ");
            answer = input.nextLine().trim().toLowerCase();

            System.out.println("----------------------------");   

            switch (answer) {
                case "yes":
                    studentReg();
                    break;
                case "no":
                    System.out.println("Thank you! Have a great day!");
                    break;
                default:
                    System.out.println("Invalid input. Please enter Yes or No.");
            }
        } while (!answer.equals("yes") && !answer.equals("no"));
        
        input.close();
    }

    public void studentReg() {
        info = "Required Info: Name, Age, Address, Course Intended, and GPA";
        boolean detailsCorrect = false;

        while (!detailsCorrect) {
            System.out.println(info);
            System.out.println("----------------------------");   
            System.out.print("Name: ");
            String name = input.nextLine();
            String ci = "";

            int age = 0;
            boolean validAge = false;

            while (!validAge) {
                System.out.print("Age: ");
                if (input.hasNextInt()) {
                    age = input.nextInt();
                    if (age < 15 || age > 100) {
                        System.out.println("Invalid Age Range. Please enter an age between 15 and 100.");
                    } else {
                        validAge = true;
                    }
                } else {
                    System.out.println("Please enter a valid Age.");
                }
                input.nextLine();
            }

            System.out.print("Address: ");
            String address = input.nextLine();

            boolean validCourse = false;
            
            while (!validCourse) {
                System.out.print("Course Intended: ");
                ci = input.nextLine();

                for (String course : courses) {
                    if (ci.equalsIgnoreCase(course)) {
                        validCourse = true;
                        break;
                    }
                }
                if (!validCourse) {
                    System.out.println("Invalid Course Input. Please select from the offered courses.");
                }
            }

            double gpa;
            while (true) {
                System.out.print("GPA: ");
                if (input.hasNextDouble()) {
                    gpa = input.nextDouble();
                    if (gpa < 0 || gpa > 100) {
                        System.out.println("Please enter a GPA between 0 and 100.");
                        continue;
                    }
                    break;                 } else {
                    System.out.println("Enter a valid GPA.");
                    input.nextLine();
                }
            }

            input.nextLine();

            System.out.println("----------------------------");

            System.out.println("Please double-check your details:");
            System.out.printf("Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\n",
                              name, age, address, ci, gpa);

            System.out.print("Are the information correct? (Yes or No): ");
            String response = input.nextLine().trim();

            if (response.equalsIgnoreCase("Yes")) {
                detailsCorrect = true;

          
           students.add(new Students(name, age, address, ci, gpa, 0));

                System.out.println("----------------------------");

                System.out.println("Thanks for applying. Please wait while we verify your details...");

                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("----------------------------");

                if (gpa >= REQUIRED_GPA) {
                    System.out.println("Congratulations! You are eligible to take the entrance exam.");   
                    Schedule();
                } else {
                    System.out.println("Thank you for applying. Unfortunately, your GPA does not meet the required 93. We wish you the best in your future endeavors.");
                }
            } else {
                System.out.println("Please re-enter your details.");
            }
        }
    }

    public void Schedule() {
            int year = 2024;
            int month = 4;
            int score = -1;
            Random random = new Random();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

            System.out.println("University Admission Process");
            System.out.println("----------------------------\n");

            boolean satisfied = false;

            while (!satisfied) {
                System.out.println("Scheduling your exam.");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
               int day = random.nextInt(30) + 1;
                LocalDate randomDate = LocalDate.of(year, month, day);
                String formattedDate = randomDate.format(formatter);

                System.out.println("Your Exam Date is " + formattedDate);
                System.out.print("Are you satisfied with your scheduled date? (Yes or No): ");
                String answer = input.nextLine();

                if (answer.equalsIgnoreCase("Yes")) {
                    satisfied = true;
                } else {
                
                    System.out.println("Scheduling a new exam date\n");
                    System.out.println("----------------------------\n");
                    
                }
            }


            while (true) {
                  System.out.println("Step 2: Input your exam score:");
                try {
                    score = input.nextInt();
            if (score < 0 || score > 100 ) {
                System.out.println("Input valid score ");
                    continue;
            }   
            break;
                } catch (InputMismatchException e) {
                    System.out.println("Invalid input. Please enter a valid number score.");
                    input.next();
                }
            }
                    if (!students.isEmpty()) {
                        students.get(students.size() - 1).score = score;
                    } else {
                        System.out.println("No student details found to update the score.");
                    }
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            
            System.out.println("----------------------------\n");
          
            if (score>60) {
                System.out.println("Congratulations! You are qualified to be admitted to the University.");
                displayStudents();
            }else {
                    System.out.println("Sorry your score did not qualify to be admitted to this University");
                }
                    }   
    
    public void Course() {
        String desiredCourse = students.get(3);
        boolean validCourse;
        int courseIndex = -1;
       int score = students.get(5);
        
      
        

        boolean isQualified = score >= reqscore[courseIndex];
        
        if (isQualified) {
            System.out.println("You are qualified for the course");
            System.out.println("You have successfully chosen: " + desiredCourse);
        } else {
            System.out.println("You are not qualified for the desired course.");
            System.out.println("Please choose another course.");
            input.nextLine();
            String otherCourse = input.nextLine();
            System.out.println("You have successfully chosen: " + otherCourse);
        }
    }
            
            public void displayStudents() {
                for(Students student : students){
                    System.out.printf(
                        "Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\nScore: %d\n",
                        student.name,
                        student.age,
                        student.address,
                        student.courseIntended,
                        student.gpa,
                        student.score);
                    }
                }

    public static void main(String[] args) {
        new CollegeAdmissionSystem();
    }
}
how do I get the score and the course intended from the array
 
To get the score and the course intended from the array of students in your CollegeAdmissionSystem class, you can access the specific student object from the ArrayList and then retrieve the score and course intended fields from that object.

Here is an example of how you can get the score and course intended for a particular student in your displayStudents() method:

Java:
public void displayStudents() {
    for (Students student : students) {
        System.out.printf(
                "Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\nScore: %d\n",
                student.name,
                student.age,
                student.address,
                student.courseIntended,
                student.gpa,
                student.score);

        // Get the course intended and score for a specific student
        String courseIntended = student.courseIntended;
        int score = student.score;

        System.out.println("Course Intended: " + courseIntended);
        System.out.println("Score: " + score);
    }
}

In the above code snippet, within the loop that iterates over the students ArrayList, we access the course intended and score fields for each student object and then print them out. You can modify this code snippet based on your specific requirements for retrieving and using the score and course intended information from the students array.
 
To get the score and the course intended from the array of students in your CollegeAdmissionSystem class, you can access the specific student object from the ArrayList and then retrieve the score and course intended fields from that object.

Here is an example of how you can get the score and course intended for a particular student in your displayStudents() method:

Java:
public void displayStudents() {
    for (Students student : students) {
        System.out.printf(
                "Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\nScore: %d\n",
                student.name,
                student.age,
                student.address,
                student.courseIntended,
                student.gpa,
                student.score);

        // Get the course intended and score for a specific student
        String courseIntended = student.courseIntended;
        int score = student.score;

        System.out.println("Course Intended: " + courseIntended);
        System.out.println("Score: " + score);
    }
}

In the above code snippet, within the loop that iterates over the students ArrayList, we access the course intended and score fields for each student object and then print them out. You can modify this code snippet based on your specific requirements for retrieving and using the score and course intended information from the students array.
I want you to focus on this specific class
public void Course() {
String desiredCourse = students.courseIntended;
boolean validCourse;
int courseIndex = -1;
int score = students.score;

boolean isQualified = score >= reqscore[courseIndex];

if (isQualified) {
System.out.println("You are qualified for the course");
System.out.println("You have successfully chosen: " + desiredCourse);
} else {
System.out.println("You are not qualified for the desired course.");
System.out.println("Please choose another course.");
input.nextLine();
String otherCourse = input.nextLine();
System.out.println("You have successfully chosen: " + otherCourse);
}
}
 
I want you to focus on this specific class
public void Course() {
String desiredCourse = students.courseIntended;
boolean validCourse;
int courseIndex = -1;
int score = students.score;

boolean isQualified = score >= reqscore[courseIndex];

if (isQualified) {
System.out.println("You are qualified for the course");
System.out.println("You have successfully chosen: " + desiredCourse);
} else {
System.out.println("You are not qualified for the desired course.");
System.out.println("Please choose another course.");
input.nextLine();
String otherCourse = input.nextLine();
System.out.println("You have successfully chosen: " + otherCourse);
}
}
In the Course() method you provided, there are a few issues that need to be addressed in order to properly retrieve the score and course intended from the students array list. Here is an updated version of the Course() method with corrections:

Java:
public void Course() {
    if (students.isEmpty()) {
        System.out.println("No student details found to determine course qualification.");
        return;
    }

    Students lastStudent = students.get(students.size() - 1);
    String desiredCourse = lastStudent.courseIntended;
    int score = lastStudent.score;
    
    int courseIndex = -1;
    boolean validCourse = false;

    for (int i = 0; i < courses.length; i++) {
        if (desiredCourse.equalsIgnoreCase(courses[i])) {
            courseIndex = i;
            validCourse = true;
            break;
        }
    }

    if (!validCourse) {
        System.out.println("Invalid course intended. Please choose from the offered courses.");
        return;
    }

    boolean isQualified = score >= reqscore[courseIndex];

    if (isQualified) {
        System.out.println("Congratulations! You are qualified for the course: " + desiredCourse);
    } else {
        System.out.println("You are not qualified for the desired course.");
        System.out.println("Please choose another course.");
        input.nextLine();
        String otherCourse = input.nextLine();
        System.out.println("You have successfully chosen: " + otherCourse);
    }
}

In this updated version of the Course() method:
  • The last added student's details are retrieved to determine the course qualification.
  • The course intended is matched with the offered courses to find the corresponding course index.
  • The student's score is compared with the required score for the intended course to determine qualification.
  • Proper error handling is included for cases where the course intended is not valid or no students are present in the list.
 
Status
Not open for further replies.

About this Thread

  • 3
    Replies
  • 369
    Views
  • 1
    Participants
Last reply from:
Unknown user

Trending Topics

Online now

Members online
357
Guests online
1,082
Total visitors
1,439

Forum statistics

Threads
2,273,591
Posts
28,950,479
Members
1,235,846
Latest member
viscahm16
Back
Top