This is the assignment..... Write a class DataSet that stores a number of values
ID: 3818557 • Letter: T
Question
This is the assignment.....
Write a class DataSet that stores a number of values of type double. Provide a constructor
public DataSet(int maxNumberOfValues)
and a method
public void addValue(double value)
that add a value provided there is still room.
Provide methods to compute the sum, average, maximum and minimum value.
This is what I have, its suppose to be using arrays also the double smallest = Double.MAX_VALUE; and double largest = Double.MIN_VALUE; are there so I don't need to create an element. I need to use enhanced for loop, not if else statments. thank you
import java.util.Scanner;
public class DataSet1 {
double[]values;
int sum;
double average;
double maximum;
double minimum;
public DataSet1(int maxNumberOfValues){
values = new double[maxNumberOfValues];
}
public void addValue(int[]values){
for(int i=0; i<values.length;i++){
sum+= values[i];
}
}
public double getSum(double[] values){
for(int i=0; i<values.length;i++){
sum+= values[i];
}
return sum;
}
public double getAverage(){
double total =0;
for(double element : values){
total = total + element;
}
double average = 0;
if(values.length>0){
average = total/values.length;
}
return sum/values.length;
}
public double getMaximum(){
double largest = Double.MIN_VALUE;
for(int i = 1;i<values.length;i++){
if(values[i]<largest)
largest=values[i];
}
return Math.max(largest, largest);
}
public double getMinimum(){
double smallest = Double.MAX_VALUE;
for(int i =0;i<values.length;i++){
if(values[i]<smallest)
smallest = values[i];
}
return Math.min(smallest, smallest);
}
public static void main(String[] args){
final int LENGTH = 100;
double[]values = new double[LENGTH];
DataSet1 d1 = new DataSet1(LENGTH);
int currentSize =0;
Scanner in=new Scanner(System.in);
System.out.print("Enter number : ");
while(in.hasNextDouble()){
values[currentSize]=in.nextDouble();
currentSize++;
}
System.out.println("Sum is : "+d1.getSum(values));
System.out.println("Average is :"+d1.getAverage());
System.out.println("Maximum is :"+d1.getMaximum());
System.out.println("Minimum is :"+d1.getMinimum());
}
}
Explanation / Answer
JAVA :
import java.util.*;
import java.util.Arrays;
class DataSet1 {
double[] values;
int sum;
double average;
double maximum;
double minimum;
public DataSet1(int maxNumberOfValues) {
values = new double[maxNumberOfValues];
}
public void addValue(int[] values) {
for (int i = 0; i < values.length; i++) {
sum += values[i];
}
}
public double getSum(double[] values) {
sum = 0;
for (int i = 0; i < values.length; i++) {
sum += values[i];
}
return sum;
}
public double getAverage() {
double total = 0;
for (double element : values) {
total = total + element;
}
double average = 0;
if (values.length > 0) {
average = total / values.length;
}
return sum / values.length;
}
public double getMaximum() {
double largest = Double.MIN_VALUE;
for (int i = 0; i < values.length; i++) {
System.out.println(values[i]);
largest = Math.max(largest, values[i]);
}
return largest;
}
public double getMinimum() {
double smallest = Double.MAX_VALUE;
for (int i = 0; i < values.length; i++) {
smallest = Math.min(smallest, values[i]);
}
return smallest;
}
public static void main(String[] args) {
final int LENGTH = 100;
int currentSize = 0;
Scanner in = new Scanner(System.in);
System.out.print("Enter number : ");
int size = in.nextInt();
DataSet1 d1 = new DataSet1(size);
for(int i=0;i<size;i++){
d1.values[currentSize] = in.nextDouble();
currentSize++;
}
// d1.values = values;
System.out.println("Sum is : " + d1.getSum(d1.values));
System.out.println("Average is :" + d1.getAverage());
System.out.println("Maximum is :" + d1.getMaximum());
System.out.println("Minimum is :" + d1.getMinimum());
}
}
OUTPUT:
Enter number : 5
2
1
3
5
4
Sum is : 15.0
Average is :3.0
2.0
1.0
3.0
5.0
4.0
Maximum is :5.0
Minimum is :1.0
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.