Hi everyone I am taking a Java class and this is my first assignment involving object oriented programming. I am getting issues with the SimpleCalc portion and am wondering if my work should be two separate files or if I am missing a component that allows the StatCalc part and SimpleCalc part to speak with one another. Please keep in mind that I am new to Java so I might need this spelled out a bit more then I have seen on stack over flow in the past at times, however, I will appreciate any help so thank you in advance. Here is my code:
package tutorial;
/*
* An object of class StatCalc can be used to compute several simple statistics
* for a set of numbers. Numbers are entered into the dataset using
* the enter(double) method. Methods are provided to return the following
* statistics for the set of numbers that have been entered: The number
* of items, the sum of the items, the average, the standard deviation,
* the maximum, and the minimum.
*/ public class StatCalc {
private int count; // Number of numbers that have been entered.
private double sum; // The sum of all the items that have been entered.
private double squareSum; // The sum of the squares of all the items.
private double max = Double.NEGATIVE_INFINITY; private double min = Double.POSITIVE_INFINITY;
/**
* Add a number to the dataset. The statistics will be computed for all
* the numbers that have been added to the dataset using this method.
*/
public void enter(double num) {
count++;
sum += num;
squareSum += num*num;
if (count == 1){
max = num;
min = num;
}
else {
if (num > max)
max = num;
if (num < min)
min = num;
}
}
/**
* Return the number of items that have been entered into the dataset.
*/
public int getCount() {
return count;
}
/**
* Return the sum of all the numbers that have been entered.
*/
public double getSum() {
return sum;
}
/**
* Return the average of all the items that have been entered.
* The return value is Double.NaN if no numbers have been entered.
*/
public double getMean() {
return sum / count;
}
/**
* Return the standard deviation of all the items that have been entered.
* The return value is Double.NaN if no numbers have been entered.
*/
public double getStandardDeviation() {
double mean = getMean();
return Math.sqrt( squareSum/count - mean*mean );
}
public double getMin(){
return min;
}
public double getMax(){
return max;
} }// end class StatCalc
public class SimpleCalc {
public static void main(String[]args){
Scanner in = new Scanner(System.in);
SimpleCalc calc;
calc = new SimpleCalc();
double item;
System.out.println("Enter numbers here. Enter 0 to stop.");
System.out.println();
do{
System.out.print("? ");
item = in.nextDouble();
if (item != 0)
calc.enter(item);
}while (item != 0);
System.out.println("\nStatistics about your calc:\n");
System.out.println(Count: "+calc.getCount"());
System.out.println(Sum: "+calc.getSum"());
System.out.println("Minimum: "+calc.getMin());
System.out.println("Maximum: "+calc.getMax());
System.out.println("Average: "+calc.getMean());
System.out.println("Standard Deviation: "+calc.getStandardDeviation());
}// end main
}//end SimpleCalc
In Java a public class must be in a file with the same name as the class. So since you have a public class named StatCalc then the filename must be StatCalc.java. Similarly the second class is also public therefore it must be in its own file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With