0% found this document useful (0 votes)
14 views3 pages

HW

Uploaded by

التعزي
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

HW

Uploaded by

التعزي
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

import java.util.

ArrayList;

import java.util.InputMismatchException;

import java.util.List;

import java.util.Scanner;

public class StudentGrades {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int numberOfStudents = getNumberOfStudents(scanner);

List<Double> grades = getGrades(scanner, numberOfStudents);

double average = calculateAverage(grades);

displayAverage(average);

displayGrades(grades);

scanner.close();

private static int getNumberOfStudents(Scanner scanner) {

int numberOfStudents = 0;

while (true) {

try {

System.out.print("Enter the number of students: ");

numberOfStudents = scanner.nextInt();

if (numberOfStudents > 0) {

break;

} else {

System.out.println("Please enter a positive number.");

} catch (InputMismatchException e) {

System.out.println("Invalid input. Please enter an integer.");

scanner.next(); // Clear the invalid input

return numberOfStudents;

}
private static List<Double> getGrades(Scanner scanner, int numberOfStudents) {

List<Double> grades = new ArrayList<>();

for (int i = 0; i < numberOfStudents; i++) {

while (true) {

try {

System.out.print("Enter the grade for student " + (i + 1) + ": ");

double grade = scanner.nextDouble();

if (grade >= 0 && grade <= 100) {

grades.add(grade);

break;

} else {

System.out.println("Please enter a grade between 0 and 100.");

} catch (InputMismatchException e) {

System.out.println("Invalid input. Please enter a number.");

scanner.next(); // Clear the invalid input

return grades;

private static double calculateAverage(List<Double> grades) {

double total = 0;

for (double grade : grades) {

total += grade;

return total / grades.size();

private static void displayAverage(double average) {

System.out.printf("The average grade is: %.2f%n", average);

}
private static void displayGrades(List<Double> grades) {

System.out.println("Grades entered:");

for (int i = 0; i < grades.size(); i++) {

System.out.printf("Student %d: %.2f%n", (i + 1), grades.get(i));

You might also like