1. //FileName: EX06_1.java
//Programmer: ............
import java.util.Scanner;
import java.util.Arrays;
public class EX06_1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a list of SAT scores: ");
String str = input.nextLine();
String[] items = str.split(" ");
double[] values = new double[items.length];
for (int i = 0; i<items.length; i++)
{
values[i] = Double.parseDouble(items[i]);
}
//count
System.out.print("Count: ");
int count = 0;
for (int i=0; i<values.length; i++)
{
count++;
}
System.out.println((count == values.length) ? values.length : count);
//sum
double sum = 0;
for (int i = 0; i<values.length; i++)
{
sum += values[i];
}
System.out.println("Sum: " + sum);
//mean
double mean = (sum/count);
System.out.println("Mean: " + mean);
//min and max
double min = values[0];
double max = values[0];
for (int i=1; i<values.length; i++)
{
if (values[i] < min)
{
2. min = values[i];
}
if (values[i] > max)
{
max = values[i];
}
}
System.out.println("Minimum: " + min);
System.out.println("Maximum: " + max);
System.out.println("Range: " + (max-min));
//sorting
Arrays.sort(values);
//median
int position = (count+1) / 2;
if (count%2 != 0)
{
System.out.println("Median: " + values[position-1]);
}
else
{
System.out.println("Median: " + (( values[position-1] + values[position]) / 2));
}
//Standard deviation
double sigmap = 0; //for population
double sigmas = 0; //for sample
for (int i=0; i<values.length; i++)
{
sigmap += (values[i] - mean)*(values[i] - mean);
}
sigmas = sigmap;
//sd for population
sigmap = sigmap / count;
System.out.println("Variance of population: " + sigmap);
double sdp = Math.sqrt(sigmap);
System.out.println("Standard Deviation of population: " + sdp);
//sd for sample
sigmas = sigmas / (count - 1);
System.out.println("Variance of sample: " + sigmas);
double sds = Math.sqrt(sigmas);
System.out.println("Standard Deviation of sample: " + sds);
//Skewness
double sigma = 0;
3. for (int i=0; i<values.length; i++)
{
sigma += (values[i] - mean)*(values[i] - mean)*(values[i] - mean);
}
double N = (double) count;
double sk = (Math.sqrt(N*(N-1)) / (N-2)) * (sigma / (sdp*sdp*sdp*N));
System.out.println("Skewness: " + sk);
//mode
int repeated = -1;
int[] frq = new int[values.length];
for (int i=0; i<values.length; i++)
{
int occ = 1;
for (int j=i+1; j<values.length; j++)
{
if (values[i] == values[j])
{
frq[j] = repeated;
occ++;
}
}
if (frq[i] != repeated)
{
frq[i] = occ;
}
}
int maxFrq = frq[0];
for (int i=0; i<frq.length; i++)
{
if (frq[i] > maxFrq)
{
maxFrq = frq[i];
}
}
System.out.print("Mode: ");
if (maxFrq == 1)
{
System.out.println("N/A");
}
else
{
for (int i=0; i<frq.length; i++)
4. {
if (frq[i] == maxFrq)
{
System.out.print(values[i] + " ");
}
}
System.out.print("n");
}
double standardError=sds/Math.sqrt(count);
System.out.println("Standard Error: "+standardError);
}
}
Programming Exercise #06_2:
Instruction:
1. Make a copy of your EX06_01.java file and rename it to EX06_2.java.
2. Open the EX06_02.java file, mode the following two lines (be sure to replace YourFullName
with your full name): // FileName: EX06_2.java // Programmer: YourFullName
3. Convert the code, so it can use an input dialog box to ask for inputs and display the output in a
message dialog box as shown below