Slip No 7 Q B

Q.Write a java program to accept details of ‘n’ cricket player (pid, pname, totalRuns,InningsPlayed, NotOuttimes). Calculate the average of all the players. Display the details of player having maximum average. (Use Array of Object) [25 M]

import java.util.Scanner;

class CricketPlayer {
    int pid;
    String pname;
    int totalRuns;
    int inningsPlayed;
    int notOutTimes;
    double average;

    // Method to accept player details
    void accept(Scanner sc) {
        System.out.print("Enter Player ID: ");
        pid = sc.nextInt();
        sc.nextLine();

        System.out.print("Enter Player Name: ");
        pname = sc.nextLine();

        System.out.print("Enter Total Runs: ");
        totalRuns = sc.nextInt();

        System.out.print("Enter Innings Played: ");
        inningsPlayed = sc.nextInt();

        System.out.print("Enter Not Out Times: ");
        notOutTimes = sc.nextInt();

        calculateAverage();
    }

    // Method to calculate average
    void calculateAverage() {
        int dismissals = inningsPlayed - notOutTimes;
        if(dismissals > 0)
            average = (double) totalRuns / dismissals;
        else
            average = totalRuns;
    }

    // Method to display player details
    void display() {
        System.out.println("\nPlayer ID: " + pid);
        System.out.println("Player Name: " + pname);
        System.out.println("Total Runs: " + totalRuns);
        System.out.println("Innings Played: " + inningsPlayed);
        System.out.println("Not Out Times: " + notOutTimes);
        System.out.println("Average: " + average);
    }
}

public class CricketDemo {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.print("Enter number of players: ");
        int n = sc.nextInt();

        CricketPlayer[] cp = new CricketPlayer[n];

        // Accept details
        for(int i = 0; i < n; i++) {
            cp[i] = new CricketPlayer();
            System.out.println("\nEnter details of Player " + (i+1));
            cp[i].accept(sc);
        }

        // Find player with maximum average
        CricketPlayer maxPlayer = cp[0];

        for(int i = 1; i < n; i++) {
            if(cp[i].average > maxPlayer.average) {
                maxPlayer = cp[i];
            }
        }

        // Display player with maximum average
        System.out.println("\nPlayer having Maximum Average:");
        maxPlayer.display();

        sc.close();
    }
}
Spread the love

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top