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();
}
}