- Engineering
- Computer Science
- the language is java 1 create a class called arrayreview...
Question: the language is java 1 create a class called arrayreview...
Question details
The language is Java.
1. Create a class called ArrayReview with one data field of an
integer array. (2 points)
2. Add a constructor to populate the array in the class using Java
random number generator, and a
setter/getter for the array, and toString().
The array length is passed to the constructor.
(3
points)
3. Add the following methods to the class and use them in the main
method: (5 points)
a. setKthItem(k, item) that set the kth element of the array to the
value given in “item”.
b. pickMaxIndex(arr, start, end) that returns the
index of the largest value of the array
from index start to index end.
c. Swap(arr, index-i, index-j) that swaps the value
in index I with the value in
index j.
d. selectionSort() that sorts the array in descending
order, i.e. the largest one comes first
4. Popular a two-dimension array from an input file of 5 rows and
10 columns, sort each row and
sort each column, then print out the data to an output file. (5
points)
5. Create a main method to print the
integer array after sorted using for-each state without using
indexes. (5 points)
Here is what I have, Is it correct?
import java.util.Arrays;
import java.util.Random;
public class ArrayReview {
private int[] array;
public ArrayReview(int length)
{
Random r = new Random(100);
array = new int[length];
for(int i =0 ;i<length;i++)
{
array[i] = r.nextInt();
}
}
@Override
public String toString() {
return "ArrayReview [array=" + Arrays.toString(array) + "]";
}
public int[] getArray() {
return array;
}
public void setArray(int[] array) {
this.array = array;
}
public void setKthItem(int k, int item)
{
array[k] = item;
}
public int pickMaxIndex( int start, int end)
{
int max = array[start];
for(int i = start + 1 ;i< end ;i++)
{
if(array[i] >= max)
max = array[i];
}
return max;
}
public void swap(int i , int j)
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
public void selectSort()
{
int max;int pos;
for(int i = 0;i<array.length-1;i++)
{
max = array[i];pos=i;
for(int j = i+1;j<array.length;j++)
{
if(array[j]>max)
{
max = array[j];
pos = j;
}
}
swap(i,pos);
}
}
public void printArray()
{
for(int value:array)
System.out.println(value+ " ");
}
}
Solution by an expert tutor
