I have wrote code that functions properly. I calculates the max, min, median, mode, mean, and standard dev. This is all calculated from a random number generator. I want to clean up the main (I did not know this was an option at the time) by making all of these functions different objects.
I need the number generator in the new main and I do not know how to call that to the new class. I have tried to use "get", but I do not know if you can use the get method for an array.
The first block of code is what I want to convert into objects. The second is my attempt to do so. The third is the new main is only has the random number generator I know it is not printing anything out.
import java.util.Random;
import java.util.Arrays;
import java.util.*;
class StatisticsMain {
public static void main (String[] args) {
int SIZE = 100; // the number of random #'s generated
Random rand = new Random ();
int[] nums = new int[SIZE];
for (int q = 0; q < SIZE; q++) {
nums[q] = rand.nextInt (490) + 10; // only numbers from 10-500 generated
}
// System.out.println (Arrays.toString (nums));
Arrays.sort (nums); // organizes numbers for max min and median
double median;
if(nums.length % 2 == 0){
median = ((double)nums[nums.length/2]
+ (double)nums[nums.length/2 - 2])/2;
}else {
median = (double)nums[nums.length/2];
}
System.out.println("The Min number is: \t "+ nums[0]); // Min
System.out.println("The Max number is:\t " + nums[99]); // Max
System.out.println("The Median is: \t " + median); // Median
//==============================================================
//--------------------------- MEAN------------------------------
double sum= 0 ;
double mean = 0 ;
for(double w : nums){
sum += w;
mean = sum/SIZE; }
System.out.println("The Mean is:\t " + mean);
//==============================================================
//----------------------------MODE------------------------------
//count the occurrences
for (int e=0; e < nums.length; e++) {
nums[e]++;
}
//go backwards and find the count with the most occurrences
int mode = nums.length-1;
for (int e= nums.length-2; e >=0; e--)
{
if (nums[e] >= nums[mode])
System.out.println( "The Mode is: \t " + (mode = e));
else
System.out.println("The Mode is:\t -1");
break;
}
//==============================================================
//-------------------------Standard Deviation-------------------
double val = 0,adding = 0, divide = 0, answer = 0, square= 0 ;
for ( double r : nums){
val = r- mean;
square = val* val;
adding += square ;
divide = adding /100;
answer = Math.sqrt(divide);
}
System.out.println("The Stand. Dev. is: \t " + answer); // standard deviation
//=================================================================
}
}
//===================================================//
// NEXT CODE NEXT CODE NEXT CODE //
//===================================================//
class Statistics
{
Main nums1 = new Main();
Main [] nums = num1.getNums();
Main nums = new Main();
public static double mean(nums[]) {
double sum= 0 ;
double mean = 0 ;
for(double w : nums[]){
sum += w;
mean = sum/SIZE; }
return mean;
}
public static double mode(nums[])
{
for (int e=0; e < nums.length; e++) {
nums[e]++;
}
//go backwards and find the count with the most occurrences
int mode = nums.length-1;
for (int e= nums.length-2; e >=0; e--)
{
if (nums[e] >= nums[mode])
// System.out.println( "The Mode is: \t " + (mode = e));
mode = e;
else
mode = -1;
//System.out.println("The Mode is:\t -1");
return mode;
}
}
public double median(nums[])
{
double median;
if(nums.length % 2 == 0){
median = ((double)nums[nums.length/2]
+ (double)nums[nums.length/2 - 2])/2;
}else {
median = (double)nums[nums.length/2];
}
return median;
}
public int Max(nums[])
{
Max = nums[99];
return Max;
}
public int Min(nums[])
{
Min = nums[0];
return Min;
}
public double StanDev(nums[])
{
double val = 0,adding = 0, divide = 0, answer = 0, square= 0 ;
for ( double r : nums){
val = r- mean;
square = val* val;
adding += square ;
divide = adding /100;
answer = Math.sqrt(divide);
} return answer;
}
}
//===================================================//
// NEXT CODE NEXT CODE NEXT CODE //
//===================================================//
import java.util.*;
public class Main
{
public static void main(String [] args)
{
int SIZE = 100; // the number of random #'s generated
Random rand = new Random ();
int[] nums = new int[SIZE];
for (int q = 0; q < SIZE; q++) {
nums[q] = rand.nextInt (400) + 10; // only numbers from 10-500 generated
Arrays.sort (nums); // organizes numbers for max min and median
}
public int getNums ()
{
return nums ;
}
}
}