I need help!!! how do you find the median of an array?? Heres my code can someon
ID: 3638369 • Letter: I
Question
I need help!!! how do you find the median of an array?? Heres my code can someone help me please???import java.util.Arrays;
// The object JArray
public class JArray<def>
{
public JArray(){}
public JArray(int A)
{
HowMany = A;
}
// Facilitators
public void Populate()
{
int k,p;
// I plan to create random numbers between 10 - 99
k = 0;
while ( k < HowMany )
{
p = (int) (Math.random()*100) ;
if ( p > 9 && p < 100 )
{
Numbers[k] = p;
k++;
}
}
}
public void ShowThem()
{
int k;
System.out.println(" The original numbers are : ");
for ( k = 0; k < HowMany; k++)
{
System.out.println(" Numbers are : " + (k+1) + " are " + Numbers[k]);
}
}
// Suppose I want to get the biggest number???
public void TheBiggestNumber()
{
int k,Biggest;
Biggest = Numbers[0];
for ( k = 1; k < HowMany; k++ )
{
if ( Numbers[k] > Biggest )
{
Biggest = Numbers[k];
}
}
System.out.println(" Wallah, the Biggest is = " + Biggest);
}
public void TheSmallestNumber()
{
int k,Smallest;
Smallest = Numbers[0];
for ( k = 1; k < HowMany; k++ )
{
if ( Numbers[k] < Smallest )
{
Smallest = Numbers[k];
}
}
System.out.println(" Wallah, the Smallest is = " + Smallest);
}
public void TheAverage()
{
int k, Sum;
double Average;
Sum = 0;
for ( k = 0; k < HowMany; k++ )
{
Sum += Numbers[k];
}
Average = Sum / HowMany;
System.out.println(" The average of these numbes is = " + Average);
}
public void SortThem()
{
int k,Temp;
boolean AmIDone,DidISwap;
AmIDone = false;
while ( !AmIDone )
{
AmIDone = true;
DidISwap = false;
for ( k = 0; k < HowMany-1; k++ )
{
if ( Numbers[k] > Numbers[k+1] )
{
Temp = Numbers[k];
Numbers[k] = Numbers[k+1];
Numbers[k+1] = Temp;
DidISwap = true;
}
}
if ( DidISwap )
{
AmIDone = false;
}
}
System.out.println(" The sorted numbers are : ");
}
private int HowMany;
private static int Numbers[] = new int[100];
public void SortReverse()
{
int k,Temp;
boolean AmIDone,DidISwap;
AmIDone = false;
while ( !AmIDone )
{
AmIDone = true;
DidISwap = false;
for ( k = 0; k < HowMany+1; k++ )
{
if ( Numbers[k] < Numbers[k+1] )
{
Temp = Numbers[k];
Numbers[k] = Numbers[k+1];
Numbers[k+1] = Temp;
DidISwap = true;
}
}
if ( DidISwap )
{
AmIDone = false;
}
}
System.out.println(" The sorted numbers are : ");
}
public void Median()
{
Arrays.sort(Numbers);
int middle = Numbers.length /2;
if (Numbers.length % 2 ==1)
{
}
else
{
(Numbers[middle - 1] + Numbers[middle])/2;
}
}
}
Explanation / Answer
public void Median() { double Median; Arrays.sort(Numbers); int middle = Numbers.length /2; if (Numbers.length % 2 ==1) { Median = (Numbers[middle - 1] + Numbers[middle])/2; } else { Median = Numbers[middle]; } System.out.println(" The median is : " + Median + " "); } Use this function in place of the Median function you wrote. Please rate!