Explanation of Solution
Error in method definition “copyArray”:
- • The given method definition “copyArray” does not return an each element from the given argument array “anArray”.
- ○ Relatively, it returns a reference to the array it is given.
- • To produce a duplicate array, user would modify the statement “temp = anArray” to following statement.
for(int index = 0; index < anArray.length; index++)
temp[i] = anArray[i];
- ○ The above statement is used to returns the each element in the array “temp” using “for” loop.
Modified method definition of “copyArray”:
public static int[] copyArray(int[] anArray)
{
//Declare an array "temp"
int[] temp = new int[anArray.length];
/* Copy values of "anArray" to "temp" array using "for" loop */
for(int index = 0; index < anArray.length; index++)
//Store value of "anArray" to "temp" array
temp[index] = anArray[index];
//Display statement
System.out.println("Values in 'temp' array");
//Display the values in "temp" array
for(int index = 0; index < anArray.length; index++)
System.out.println(temp[index]);
//Return the values in "temp" array
return temp;
}
Explanation:
The above method definition is used to copy the array to another array variable.
- • Declare an array “temp”.
- • Copy the value of “anArray” to “temp” array using “for” loop.
- • Display the values in values of “temp” array using “for” loop.
Complete executable code:
The complete executable code for “copyArray” is given below:
//Import required package
import java.util.Scanner;
//Define "Main" class
class Main
{
//Define main function
public static void main(String[] args)
{
//Create an array "arr"
int[] arr = new int[5];
//Create scanner object
Scanner input = new Scanner(System...
Want to see the full answer?
Check out a sample textbook solutionChapter 7 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
- void radixSort(int arr[], int n) { intm=getMax(arr, n); for (intexp=1; m/exp>0; exp*=10) countSort(arr, n, exp); } void printData(int arr[], int start, int len) { if( start>=len ) return( 0 ); printf("%d\n", arr[start]); printData(arr, start+1, len); } int main() { intarr[]= {8, 9, 3, 4, 7, 2, 5, 6, 1}; intn=sizeof(arr) /sizeof(arr[0]); radixSort(arr, n); printData(arr, 0, n); return0; } In MIPSarrow_forwardimport java.util.Random; class Main { public static void main(String[] args) { Random rand = new Random(); int a = new int[100]; for (int i = 0; i < 100; i++) { a[i] = rand.nextInt(100); } print(a); System.out.println("---"); quicksort(a, 0, a.length - 1); print(a); } public static void print(int[] a) { for (int x : a) { System.out.println(x); } } public static void swap(int[] a, int p1, int p2) { int temp = a[p1]; a[p1] = a[p2]; a[p2] = temp; } public static int partition(int[] a, int left, int right) { int pivot = right; int p1 = left; int p2 = pivot - 1; while (p2 >= p1) { if (a[p1] > a[pivot]) { swap(a, p1, p2); swap(a, p2, pivot); p2 = pivot - 1; } else { p1++; } } return pivot; } public static void quicksort(int[] a, int left, int right) { if (left < right) { int p = partition(a, left, right); quicksort(a, left, p - 1);…arrow_forwardComplete the following method in java that takes an array and a key(int value) that traverses the input parameter array with a nested for loop and finds the number of pairs of the numbers in the array that add up to the val(key) parameter. I'm not sure if this is correct: public static int nestedLoopsTwoSum(int[] X, int val) {int count = 0;for (int i = 0; i < X.length; i++){int k;for (k = 0; k < i ; k++){if ((X[i] + X[k]) == val){count++;}}}return count;}arrow_forward
- Write a method swapArrayEnds() that swaps the first and last elements of its array parameter. Ex: sortArray = {10, 20, 30, 40} becomes {40, 20, 30, 10}. import java.util.Scanner; public class ModifyArray { /* Your solution goes here */ public static void main (String [] args) { Scanner scnr = new Scanner(System.in); int numElem = 4; int[] sortArray = new int[numElem]; int i; int userNum; for (i = 0; i < sortArray.length; ++i) { sortArray[i] = scnr.nextInt();} swapArrayEnds(sortArray); for (i = 0; i < sortArray.length; ++i) { System.out.print(sortArray[i]); System.out.print(" ");} System.out.println("");}}arrow_forwardpublic class ArraySection { static void arraySection(int a[], int b[]) { int k = 0; int [] c = new int[a.length]; for(int i = 0; i < a.length; i++) { for(int j = 0; j < b.length; j++) if(a[i] == b[j]) c[k++] = a[i]; } for(int i = 0; i < k; i++) System.out.println(c[i]); System.out.println(); } public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5 }; int b[] = { 0, 2, 4,5 }; arraySection(a,b); }} Calculate the algorithm step number and algorithm time complexity of the above program?arrow_forwardWrite a Java class that populates an array of 20 random ints between 0 and 100. Write two methods: 1) a method returning the largest value, and 2) a method returning the array sorted in descending order.arrow_forward
- Define a class Car as follows:class Car { public String make; public String model; public int mpg;// Miles per gallon}a) Implement a comparator called CompareCarsByMakeThenModel that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByMakeThenModel should return a value that will cause quicksort to sort an array of cars in ascending order (from smallest to largest) by make and, when two cars have the same make, in ascending order by model.b) Implement a comparator called CompareCarsByDescendingMPG that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByDescendingMPG should return a value that will cause quicksort to sort an array of cars in descending order (from largest to smallest) by mpg.c) Implement a comparator called CompareCarsByMakeThenDescendingMPG that can be passed as an argument to the quicksort method from the lecture notes.…arrow_forwardPlease complete the task by yourself only in JAVA with explanation. Don't copy. Thank you. Using quicksort to sort an array of car objects by various criteria. Define a class Car as follows: class Car { public String make; public String model; public int mpg; // Miles per gallon } a) Implement a comparator called CompareCarsByMakeThenModel that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByMakeThenModel should return a value that will cause quicksort to sort an array of cars in ascending order (from smallest to largest) by make and, when two cars have the same make, in ascending order by model.arrow_forwardPlease complete the task by yourself only in JAVA with explanation. Don't copy. Thank you. Using quicksort to sort an array of car objects by various criteria. Define a class Car as follows: class Car { public String make; public String model; public int mpg; // Miles per gallon } a) Implement a comparator called CompareCarsByMakeThenModel that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByMakeThenModel should return a value that will cause quicksort to sort an array of cars in ascending order (from smallest to largest) by make and, when two cars have the same make, in ascending order by model. b) Implement a comparator called CompareCarsByDescendingMPG that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByDescendingMPG should return a value that will cause quicksort to sort an array of cars in descending order (from largest to smallest) by mpg. c) Implement a comparator called…arrow_forward
- Write in JAVA, JUST CHANGE THE SWAP PART I don't want int i and j in (public static void swap(int[] array, int i, int j)) this part. DELETE I, AND J HERE. IT MUST BE JUST INT[] ARRAY I want you to do it by writing( public static void swap(int[] array){ Just initialize i and j somewhere else please. How can you do that? public class SelectionSort {public static void main(String[] args) {int[] intarray = {20, 35, -15, 7, 55, 1, -22};for(int lastUnsorted = intarray.length-1;lastUnsorted > 0;lastUnsorted--){// if largest is in 0th index// we start from the 1st index// if 1st is greater than it, swap the elementint largest=0;for(int i=1; i<=lastUnsorted; i++){if(intarray[i] > intarray[largest]){largest = i;}}swap(intarray, largest, lastUnsorted);}for(int i=0; i<intarray.length; i++){System.out.println(intarray[i]);}}public static void swap(int[] array, int i, int j){if(i == j){return;}int temp = array[i];array[i] = array[j];array[j] = temp;}}arrow_forwardWrite a java class method named countOccurences that returns the number of times a particular integer occurs in an array of integers. The integer and the array will both be parameters.arrow_forwardWrite the Java method scrambleArray, a void method that returns with the values of given double array scrambled (i.e., randomized).arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education