Java program for Cricket Team
Question : Write a program to print 11 players of a Cricket team with
their names, runs and strike rate. Print also the highest run getter in the
team with his name.
import java.io.*;
public class CricketTeam
{
public static void
main(String args[]) throws IOException
{
// Variables
int run [] = new int [11];
int ball [] = new int [11];
String name [] = new String
[11];
int i, j , t1, t2, p=0;
int total = 0; // Total number
int max; // for maximum
String t3; // Temporary variable
double strike; // Strike rate calculation
InputStreamReader in =
new InputStreamReader (System.in);
BufferedReader br = new BufferedReader (in);
// Input the elements in
the arrays
System.out.println("Enter Player name, runs and Ball
played:");
for(i=0; i<11; i++)
{
name[i] =
br.readLine();
run[i] =
Integer.parseInt(br.readLine());
ball[i] =
Integer.parseInt(br.readLine());
}
// Sorting the player
name with thier runs and balls played
for(i=0; i<10 ;i++)
{
for(j=0; j<10-i;
j++)
{
if(name[j].compareTo(name[j+1])>0)
{
t3 = name[j];
name[j] =
name[j+1];
name[j+1] =
t3;
t1 = run[j];
run[j] =
run[j+1];
run[j+1] =
t1;
t2 = ball[j];
ball[j] =
ball[j+1];
ball[j+1] =
t2;
}
}
}
// Printing the value and
finding the maximum score
max=run[0]; // Storing run at 0 position
System.out.println("\n\n
Position\t Name\t Run\t Ball\t Strike Rate");
System.out.println("========\t
============\t==========\t===========");
for(i=0; i<11; i++)
{
strike =
(double)100*run[i]/ball[i];
total = total + run[i];
// checking for
highest run getter with the position
if(run[i]>max)
{
max = run[i];
p=i;
}
System.out.println(i+1 + "\t\t" + name[i] + "\t" +
run[i] + "\t" + ball[i] + "\t" + strike);
}
System.out.println("=================================================");
System.out.println("\t\t\t\t" + total);
System.out.println("Highest run =
" + run[p] + " by " + name[p]);
}
}
Sample output:
Kholi
80
50
Vijay
50
60
Rahul
70
90
Sachin
100
100
Ajinka
75
70
Yusuf
50
30
Ashwin
20
20
Shami
10
10
Umesh
0
0
Patel
20
10
Aron
0
0
Position Name Run
Ball Strike Rate
======== ====== ====== ===== ==========
1 Ajinka 75 70 107.14285714285714
2 Aron 0 0 NaN
3 Ashwin 20 20 100.0
4 Kholi 80 50 160.0
5 Patel 20 10 200.0
6 Rahul 70 90 77.77777777777777
7 Sachin 100 100 100.0
8 Shami 10 10 100.0
9 Umesh 0 0 NaN
10 Vijay 50 60 83.33333333333333
11 Yusuf 50 30 166.66666666666666
=================================================
475
Highest run = 100 by Sachin