Ask Computer Engineering Expert

Part 1: Instance Variables for Arrays

The first thing to do for the Arrays class is to set up its instance variables. Declare the following (private) instance variables:

• An int array called array  this will be the array we will be writing methods for.

• An int called count - this represents the number of valid elements in the array.

Part 2: Constructors for Arrays

The Arrays class will have two constructors. The first constructor takes the maximum size of the array as input as a parameter and initializes the array instance variable appropriately. It also sets count to size.

Finally, it will initialize all of the array elements to some values between 0 and 10, inclusive. To create this constructor, follow these steps:

Import java.util.Random to make use of the random number generator.

Create a constructor with the following header: public Arrays(int size)

Initialize your array variable and set its size to size (see the chart on page 252 for reference on initializing arrays). Be very careful that you are setting the value of your array instance variable, as opposed to creating a new variable called array.

Set the value of the count variable to size because we will be populating the entire array.

Copy the following code to the constructor in order to generate random values between 0 and 10,

inclusive:

Random rand = new Random(); for (int i = 0; i < count; i++) { array[i] = (rand.nextInt(10)); }
Next, create another constructor with the following header: public Arrays(int[] arr). This constructor will initialize the class by using the passed arr argument in order to fill its instance variables. The following things need to be done inside of this constructor:

• Set the array variable equal to arr.
• Set the count variable equal to the length of the array.

Part 3: Displaying the Output findMin()

The first method of this class will search the array for the minimum element. Copy the following code for the findMin method. Note how the count instance variable is used instead of array.length. This is just in case the entire array is not being used (it will be in our case, though).

public int findMin() { int min = array[0]; // Set min to the first element for (int i = 1; i < count; i++) { // Reassign min if there is a smaller element if (array[i] < min) { min = array[i]; }
}

return min; // Return the smallest element }
findMax()

Using the above code as reference, write a method which finds the maximum element within the array. You can refer to page 259 if you are stuck.

calcSum()

The calcSum() method will be a private method (for clarity, it is the only private method in this class). It will be used later on within the class as a helper method, but never outside of the class. This method will return the sum of all of the elements in the array. You can use the following steps as guidelines for how to complete this method, if you choose:

Use the following as the header: private int calcSum()

Declare an int variable for the sum - initialize it to 0

Write a for loop to iterate through all the elements in the array (remember to use the count instance variable instead of the length of the array).

Add the value of each element to the sum.

Return the sum after the for loop You can refer to page 259 if you are stuck.

calcAverage()

This method will return the average of all of the elements in the array. Use the following for the header of this method: public double calcAverage(). IMPORTANT: Use the calcSum() private method in your computation of the average for full credit. Hints:

• You will need to make use of the total elements in the array.
• You will need to cast the result to a double at the appropriate time to achieve an accurate average.

toString()

The toString() method is called whenever an object is passed into a print statement. This particular toString() method will print the following, assuming the array consists of elements {1, 2, 3, 4}:

[ 1, 2, 3, 4 ]

Copy the following code to use for this method:

public String toString() { String output = "[ "; for (int i = 0; i < count; i++) { output += array[i]; if (i != count - 1) { output += ", "; }
}

return output + " ]"; }
Part 4: Test Class for Arrays

At this point, the Arrays class is completed. The next step is to create a driver class to test it. This is the Lab8.java file that you created at the beginning of the lab. Copy the following code into the main method of the Lab8.java file. This code tests the first constructor of the Arrays class along with all its methods.

// Create an Arrays object using the first constructor Arrays arr1 = new Arrays(5); // Print the contents of the array in arr1 System.out.println(arr1); // Call findMin, findMax, and calcAverage on arr1 and print their values System.out.println("Min: " + arr1.findMin()); System.out.println("Max: " + arr1.findMax()); System.out.println("Average: " + arr1.calcAverage()); System.out.println();
The next step is to add code which tests the second constructor of the Arrays class. To do this, complete the following tasks by adding code to the end of the code you just copied into the main method.

Create an int array of length 3 - explicitly set its values to any 3 ints by using an array initialization list. See the chart on the bottom of page 252 for a reference on how to set an array with initial values.

Create an Arrays object using the second constructor. Note that this involves passing the array variable you just created. Call this object arr2.

Print the arr2 object by passing it into a println statement.

Print the min, max, and average of the arr2 object, as what was done with the arr1 object.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M93075930

Have any Question?


Related Questions in Computer Engineering

Does bmw have a guided missile corporate culture and

Does BMW have a guided missile corporate culture, and incubator corporate culture, a family corporate culture, or an Eiffel tower corporate culture?

Rebecca borrows 10000 at 18 compounded annually she pays

Rebecca borrows $10,000 at 18% compounded annually. She pays off the loan over a 5-year period with annual payments, starting at year 1. Each successive payment is $700 greater than the previous payment. (a) How much was ...

Jeff decides to start saving some money from this upcoming

Jeff decides to start saving some money from this upcoming month onwards. He decides to save only $500 at first, but each month he will increase the amount invested by $100. He will do it for 60 months (including the fir ...

Suppose you make 30 annual investments in a fund that pays

Suppose you make 30 annual investments in a fund that pays 6% compounded annually. If your first deposit is $7,500 and each successive deposit is 6% greater than the preceding deposit, how much will be in the fund immedi ...

Question -under what circumstances is it ethical if ever to

Question :- Under what circumstances is it ethical, if ever, to use consumer information in marketing research? Explain why you consider it ethical or unethical.

What are the differences between four types of economics

What are the differences between four types of economics evaluations and their differences with other two (budget impact analysis (BIA) and cost of illness (COI) studies)?

What type of economic system does norway have explain some

What type of economic system does Norway have? Explain some of the benefits of this system to the country and some of the drawbacks,

Among the who imf and wto which of these governmental

Among the WHO, IMF, and WTO, which of these governmental institutions do you feel has most profoundly shaped healthcare outcomes in low-income countries and why? Please support your reasons with examples and research/doc ...

A real estate developer will build two different types of

A real estate developer will build two different types of apartments in a residential area: one- bedroom apartments and two-bedroom apartments. In addition, the developer will build either a swimming pool or a tennis cou ...

Question what some of the reasons that evolutionary models

Question : What some of the reasons that evolutionary models are considered by many to be the best approach to software development. The response must be typed, single spaced, must be in times new roman font (size 12) an ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As